有一百个问题都与这个错误有关。我经历过他们每一次......两次。
去年,我一直在研究一个非常强大的PHP和MySQL客户端管理系统,我即将结束。这个错误时不时会弹出,它驱动我的坚果。
我还有另外三个这个代码的例子在我网站的其他部分完美运行。我复制并将其发布到新页面,更改了一些变量,并且没有失败MySQL说要检查引号,我的版本可能是错误的。我把头发拉出来......请帮忙!
// Update existing contact list
if(count($_POST['existing_contact']) > 0){
foreach ($_POST['existing_contact'] as $exist_contact) {
mysql_query("UPDATE `contact_lists` SET
contact_lists.sequence = '".mysql_real_escape_string($exist_contact['sequence'])."' ,
contact_lists.name = '".mysql_real_escape_string($exist_contact['name'])."' ,
contact_lists.primary_phone = '".mysql_real_escape_string($exist_contact['primary_type'])."' ,
contact_lists.primary_type = '".mysql_real_escape_string($exist_contact['primary_type'])."' ,
contact_lists.secondary_phone = '".mysql_real_escape_string($exist_contact['secondary_phone'])."' ,
contact_lists.secondary_type = '".mysql_real_escape_string($exist_contact['secondary_type'])."' ,
contact_lists.panel_code = '".mysql_real_escape_string($exist_contact['panel_code'])."' ,
contact_lists.password = '".mysql_real_escape_string($exist_contact['contact_password'])."'
WHERE `id` = ".mysql_real_escape_string($exist_contact['contact_identifier'])."")
or die(mysql_error("<font size='-1' face='Verdana, Geneva, sans-serif'>Can't connect to MySQL. Please try again.</font>"));
};
};
这是我从phpMyAdmin
获得的#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'sequence'])."' ,
contact_lists.name = '".mysql_real_escape_string($ex' at line 2
我发誓这段确切的代码,不同的变量在我的网站的两个或三个其他位置运行。如果你能在这里看到任何与众不同的东西,请指出我正确的方向。谢谢!
编辑------
以下是复制和粘贴的原始代码。 (当然,有变化的变化)
// Update existing zone list
if(count($_POST['existing_zone']) > 0){
foreach ($_POST['existing_zone'] as $exist_zone) {
if($exist_zone['zone_exists'] == TRUE) { $zone_exists_checked = "1"; } else { $zone_exists_checked = "0"; };
mysql_query("UPDATE `zone_lists` SET
zone_lists.zone_number = '".mysql_real_escape_string($exist_zone['zone_number'])."' ,
zone_lists.zone_description = '".mysql_real_escape_string($exist_zone['zone_description'])."' ,
zone_lists.zone_existing = '".mysql_real_escape_string($zone_exists_checked)."'
WHERE `id` = ".mysql_real_escape_string($exist_zone['zone_list_identifier'])."")
or die(mysql_error("<font size='-1' face='Verdana, Geneva, sans-serif'>Can't connect to MySQL. Please try again.</font>"));
};
};
答案 0 :(得分:1)
mysql_error
仅将资源作为其参数(使用mysql_connect()
创建的参数)。你正试图提供一个字符串。
你可能在其他地方工作的是:
or die("<font size='-1' face='Verdana, Geneva, sans-serif'>Can't connect to MySQL. Please try again.</font>");
答案 1 :(得分:0)
<强>解决。强>
好的,所以这是交易......
这段代码中的一切都很好。事实证明,由于单个字母拼写错误,WHERE
子句中的变量为空。我在上一页的表单中有“conctact”而不是“contact”。我开始用静态信息替换所有变量,并在每次重新插入变量时运行代码。