-2

Possible Duplicate:
mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

what's wrong with this line?

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

I get this error message each time :

Warning: mysql_query() expects parameter 2 to be resource, string given in line 23

This my full code

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


?> 
Community
  • 1
  • 1
user1550195
  • 3
  • 1
  • 1
  • 4

5 Answers5

0

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

i guess it should work this way..

000
  • 3,888
  • 4
  • 23
  • 38
0

Your query shoul be like this

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

Columns without commas

Muhammad Raheel
  • 19,645
  • 7
  • 66
  • 101
0

You forgot to give closing " after after '4421'') and the syntax is incorrect!

Replace:

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

With

'NULL, '.$city.","', '4421'')") or die(mysql_error());
Community
  • 1
  • 1
Praveen Kumar Purushothaman
  • 160,666
  • 24
  • 190
  • 242
0
mysql_query("INSERT INTO $tbl_name(city_id, city, state_id) VALUES(NULL, ".$city.",'4421')") or die(mysql_error());

Try this.

or die() is a php construct - you misplaced a bracket which meant it went inside the sql query.

This is why your error thinks that mysql_query() has a second parameter.

Praveen Kumar Purushothaman
  • 160,666
  • 24
  • 190
  • 242
Joe Green
  • 1,725
  • 1
  • 12
  • 17
0

This is because of incorrect syntax and you column names in INSERT query should not be enclosed in quotes: try

$result = mysql_query("INSERT INTO ".$tbl_name."(city_id, city, state_id) VALUES(NULL, '".$city."','4421') or die(mysql_error()";
Omesh
  • 26,034
  • 6
  • 40
  • 50