[英]PHP MYSQL insert command doesnt work
我在這段代碼中苦苦掙扎。 為什么不起作用? 它確實接收變量,但是sql命令不起作用。
if ($action=='create')
{
$Surname=$_REQUEST['Surname'];
$Name=$_REQUEST['Name'];
$Fathername=$_REQUEST['Fathername'];
$Dateofbirth=$_REQUEST['Dateofbirth'];
$Afm=$_REQUEST['Afm'];
$Landline=$_REQUEST['landline'];
$Mobile=$_REQUEST['Mobile'];
$Address=$_REQUEST['Adrs'];
$Addressnum=$_REQUEST['Adrsnm'];
$Location=$_REQUEST['Location'];
$ZIP=$_REQIEST['Zip'];
$Bankaccount=$_REQUEST['Bankaccount'];
$createuser=mysql_query("INSERT INTO `Customers` (`Surname`,`CName`,`Fathername`,`Birthdate`,`AFM`,`Landline`,`Mobile`,`Address`,`Adressnum`,`Location`,`ZIP`,`Bankaccount`) VALUES ('$Surname','$Name','$Fathername','$Dateofbirth','$Afm','$Landline','$Mobile','$Address','$Addressnum','$Location','$ZIP','$Bankaccount')");
}
mysql_query("INSERT INTO `Customers` (`Surname`,`CName`,`Fathername`,`Birthdate`,`AFM`,`Landline`,`Mobile`,`Address`,`Adressnum`,`Location`,`ZIP`,`Bankaccount`) VALUES ('$Surname','$Name','$Fathername','$Dateofbirth','$Afm','$Landline','$Mobile','$Address','$Addressnum','$Location',
'$ZIP','$Bankaccount')")or die(mysql_error());
會給你答案。
並確保轉義數據:
$Surname=mysql_real_escape_string($_REQUEST['Surname']);
$Name=mysql_real_escape_string($_REQUEST['Name']);
$Fathername=mysql_real_escape_string($_REQUEST['Fathername']);
[...]
更好的是,使用准備好的語句:
$q = $sql->prepare("INSERT INTO `Customers` SET `Surname` = ? [...]");
$q->execute( array( $_REQUEST['Surname'], [...] ) );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.