PHP MYSQL插入命令不起作用
问题描述:
我正在努力处理这段代码。为什么它不起作用?它确实收到变量,但是sql命令不起作用。PHP MYSQL插入命令不起作用
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'], [...]));
+0
非常感谢,实际上问题是连接到数据库 – 2013-02-16 00:00:42
尝试打印mysql_error的'()的结果',看看是什么问题。 – 2013-02-15 23:49:21
'或退出(mysql_error());' – Sebas 2013-02-15 23:49:21
需要更多信息。它输出错误吗?如果是这样的错误是什么?你有没有创建一个MySQL连接器? – topher 2013-02-15 23:49:26