嗨,伙计们,我正在与我的sql的语法错误作斗争,确切地说:
“您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册以获取正确的语法”
即使代码工作正常,并且正在做我想要做的事情,我仍然得到语法错误信息!下面是代码:
$person_id =mysql_query("SELECT person_id FROM person WHERE firstname='$array[0]' AND lastname='$array[1]' AND city='$array[2]' ")
or die(mysql_error());
if (mysql_num_rows($person_id) )
{
print 'user is already in table';
}
else
{
mysql_query ("INSERT INTO person VALUES (NULL, '$array[0]' ,'$array[1]' , '$array[2]' ")
or die(mysql_error());
$person_id = mysql_insert_id();
}
$address_id =mysql_query("SELECT address_id FROM address WHERE street='$array[3]' AND city='$array[4]' AND region='$array[5]'")
or die(mysql_error());
if (mysql_num_rows($address_id) )
{
print ' already in table';
}
else
{
mysql_query ("INSERT INTO address VALUES (NULL, '$array[3]', '$array[4]', '$array[5]'")
or die(mysql_error());
$address_id = mysql_insert_id();
}
mysql_query ("INSERT INTO person_address VALUES($person_id, $address_id)")
or die(mysql_error()); 感谢您的建议
发布于 2011-08-18 00:09:20
您不能像在引号内那样使用数组值-例如,您可以使用点从查询中分隔值。
$query = "SELECT age FROM person WHERE name='".$array[0]."' AND lastname='".$array[1]."' AND city='".$array[2]."'";发布于 2011-08-18 02:33:41
第二个和第四个查询在值的末尾没有')‘结尾
https://stackoverflow.com/questions/7096007
复制相似问题