이것은 반복되는 주제입니다. 그러나 누구도 만족스러운 답을 얻지 못했습니다.mysql 쿼리는 myadmin에서 작동하지만 PHP 스크립트에서는 작동하지 않습니다.
내 쿼리 내가 스크립트가 반환 $의 SQL 에코
$link = mysqli_connect($db[0],$db[1],$db[2],$db[3]);
if(!$link){
echo mysqli_error();
}else{
$name = $_POST['name'];
$contact = $_POST['contact'];
$com_day = $_POST['com_days'];
$dept = $_POST['dept'];
$sql = "CALL mem_add_id('".$dept."');";
$result = mysqli_query($link,$sql);
$new_id = mysqli_fetch_array($result);
if(!isset($new_id[0])){ $new_id[0] = 1;}
$wrk_id = $dept."-".$new_id[0];
$sql = "INSERT INTO `db_workers`(`id`, `name`, `contact`, `committed_days`, `department`) VALUES ('".$wrk_id."','".$name."','".$contact."',".$com_day.",'".$dept."')";
$result = mysqli_query($link,$sql);
if($result){
echo '<script>show_messages("'.$wrk_id.'");</script>';
}
}
입니다 :
INSERT INTO `db_workers`(`id`, `name`, `contact`, `committed_days`, `department`) VALUES ('OB-1','aasd','123312412',5,'OB')
내가 phpMyAdmin을이 붙여 넣기, 행이 삽입됩니다! 하지만 PHP에서 결과는 'false'를 반환합니다.
스크립트의 문제를주의하십시오.
감사합니다.
편집 : 위 쿼리는 정상적으로 작동합니다.
실패한 쿼리 후 [$ link-> error] (http://php.net/manual/en/mysqli.error.php)를 확인하십시오. – Oswald
BTW :'echo ' '는'INSERT' 질의가 성공할 경우에만 실행됩니다. 그것이 당신의 의도입니까? 'if (! $ result)'는 나에게 더 나은 디버깅 전략처럼 보입니다. – Oswald
"명령이 동기화되지 않아이 명령을 지금 실행할 수 없습니다." –