Benim ekleme sorgusu benim localhost çalışmıyor ama web sunucusu olan

2 Cevap php

I am using flex builder 3 to insert into mysql database using php and everything is working perfectly in my localhost, the problem is when I deploy the project in the web server and run it, it connect to the database but i can't insert data ( it shows nothing when i insert data )
another stupid thing is in another piece of code for retrieving (select) data that works good on both my localhost and web server.

Burada php kodu:

<?php 

$host = "******"; 
$user = "******"; 
$pass = "******"; 
$database = "******"; 

$linkID = mysql_connect($host, $user, $pass) or die("Could not connect to host."); 
mysql_select_db($database, $linkID) or die("Could not find database."); 

$nickname = $_POST['nickname'];
$steam = $_POST['steam'];
$c1 = $_POST['c1'];
$c2 = $_POST['c2'];
$c3 = $_POST['c3'];

$results = mysql_query("INSERT INTO  `phantom`.`members` (`TF2_Nickname` ,`Steam_User_Name`,
`class1` ,`class2` ,`class3` ,`time`) VALUES ($nickname,  $steam,  $c1,  $c2,  $c3,NOW())");

?>

2 Cevap

Siz de declare the values as strings in your MySQL query gerekir:

"INSERT INTO `phantom`.`members` (`TF2_Nickname`, `Steam_User_Name`, `class1`, `class2`, `class3`, `time`)
 VALUES ('$nickname', '$steam', '$c1', '$c2', '$c3', NOW())"

Ve ayrıca (bkz: SQL Injection) yanlışlıkla SQL komutu gibi davranılmasını önlemek için bir şekilde onları hazırlamak gerekir. PHP bunu mysql_real_escape_string fonksiyonu var:

"INSERT INTO `phantom`.`members` (`TF2_Nickname`, `Steam_User_Name`, `class1`, `class2`, `class3`, `time`)
 VALUES ('".mysql_real_escape_string($nickname)."', '".mysql_real_escape_string($steam)."', '".mysql_real_escape_string($c1)."', '".mysql_real_escape_string($c2)."', '".mysql_real_escape_string($c3)."', NOW())"

hatalar.log (mysql_error ()) yanlış gidiyor tam olarak ne söyleyecektir. Ben bir kullanıcı ayrıcalığına sahip olduğundan şüpheleniyorsanız