我使用以下insert命令在我的db表中插入名为demo_organization
的值$sql = "INSERT INTO demo_organization (org_name, abn_acn_no, org_url,city,
state, country, pin, street, primary_mobile,
secondary_mobile, primary_landline,
secondary_landline, primary_email, secondary_email)
VALUES ($org_name, $abn_acn_no, $org_url, $city, $state, $country,
$pin, $street, $primary_mobile, $secondary_mobile,
$primary_landline, $secondary_landline, $primary_email,
$secondary_email)";
$result = mysql_query($sql) or die (mysql_error());
在PHP中但我得到的错误就像
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 靠近'://loc.com,Melburn,Melburn,Australia,56007,123 park 大道,+ 6190567890,+ 89685552'在第2行
我是php mysql的新手请告诉我我做错了什么
答案 0 :(得分:2)
您缺少文字值周围的单引号:
insert into demo (org_name, abn_acn_no) values ('$org_name', abn_acn_no);
// assumes that abn_acn_no is numeric.
您也无法将空变量传递给查询。如果您没有它,则需要将其作为, null,
而不是作为没有值的变量插入 - 这将导致, ,
SQL不接受 - 即使该列接受空值。
答案 1 :(得分:1)
如果您将使用MYSQL,则需要转义值mysql_escape_string($string)
查询中提供的 url 存在问题,请尝试转义并再次运行。
否则,MYSQL正在折旧,使用MYSQLi或PDO
答案 2 :(得分:0)
您的代码在您的SQL注入时很容易受到攻击。我会建议 MYSQLi 或 PDO 。但无论如何,您的值为string format should be wrap with single quotes
。
$sql = "INSERT INTO demo_organization (org_name, abn_acn_no, org_url,city,
state, country, pin, street, primary_mobile,
secondary_mobile, primary_landline,
secondary_landline, primary_email, secondary_email)
VALUES ('$org_name', 'abn_acn_no, '$org_url', '$city', ...,
'$secondary_email')";