mysql_query()期望参数2是资源,字符串在

时间:2012-07-25 08:57:22

标签: php mysql

  

可能重复:
  mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

这条线有什么问题?

23. $result = mysql_query("INSERT INTO $tbl_name('city_id', 'city', 'state_id') VALUES('NULL, '.$city.","', '4421'') or die(mysql_error())");

我每次收到此错误消息:

  

警告:mysql_query()期望参数2是资源,第23行中给出的字符串

这是我的完整代码

<?php
// Get values from form 
$city = explode(',', $_POST['city']);

//create a loop
if(isset($_POST['city'])) {


    $city = explode(',', $_POST['city']);
    $n = count($city);
    for($i=0; $i<$n; $i++) {
    $result = mysql_query("INSERT INTO $tbl_name(city_id, city, state_id) VALUES(NULL, '.$city.","', '4421')") or die(mysql_error());
    }
} if($result) {
    header('Location: index.html'); 
}


?> 

5 个答案:

答案 0 :(得分:0)

尝试mysql_query("INSERT INTO ".$tbl_name."(city_id, city, state_id) VALUES(NULL,'".$city."','4421')") or die(mysql_error());

我想它应该这样工作..

答案 1 :(得分:0)

您的查询应该是这样的

mysql_query("INSERT INTO $tbl_name(city_id, city, state_id) VALUES('NULL, '.$city.","', '4421'") or die(mysql_error()));

没有逗号的列

答案 2 :(得分:0)

您忘记在"之后关闭after '4421'')并且语法不正确!

<强>替换

'NULL, '.$city.","', '4421'') or die(mysql_error())");

。通过

'NULL, '.$city.","', '4421'')") or die(mysql_error());

答案 3 :(得分:0)

mysql_query("INSERT INTO $tbl_name(city_id, city, state_id) VALUES(NULL, ".$city.",'4421')") or die(mysql_error());

试试这个。

or die()是一个php构造 - 你错放了一个括号,这意味着它进入了sql查询。

这就是为什么您的错误认为mysql_query()有第二个参数。

答案 4 :(得分:0)

这是因为语法不正确,INSERT查询中的列名不应该用引号括起来:try

$result = mysql_query("INSERT INTO ".$tbl_name."(city_id, city, state_id) VALUES(NULL, '".$city."','4421') or die(mysql_error()";