-2

可能重复:
mysql_fetch_array() 期望参数 1 是资源,选择中给出的布尔值

这条线有什么问题?

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'); 
}


?> 
4

5 回答 5

0

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

我想它应该这样工作..

于 2012-07-25T09:03:53.310 回答
0

您的查询应该是这样的

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

不带逗号的列

于 2012-07-25T09:05:27.117 回答
0

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

代替:

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

'NULL, '.$city.","', '4421'')") or die(mysql_error());
于 2012-07-25T09:06:12.420 回答
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()有第二个参数。

于 2012-07-25T09:07:02.810 回答
0

这是因为语法不正确,并且 INSERT 查询中的列名不应用引号引起来:尝试

$result = mysql_query("INSERT INTO ".$tbl_name."(city_id, city, state_id) VALUES(NULL, '".$city."','4421') or die(mysql_error()";
于 2012-07-25T09:07:33.747 回答