본문 바로가기
MySql

MySQL mysql_query() expects parameter 2 to be resource, string given in

by 베이스 공부 2021. 2. 3.
반응형

가능한 중복 :


이 라인에 무슨 문제가 있습니까?

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


?> 

 

해결 방법

 

이는 잘못된 구문 때문이며 INSERT 쿼리의 열 이름은 따옴표로 묶어서는 안됩니다.

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

 

참조 페이지 https://stackoverflow.com/questions/11646087

 

 

반응형

댓글