와 나는 다음 업데이트 한 : 나는 몇 가지 다른 형태로 동일한 기능을 사용하기 때문에 문제가 query_cust
기능하고 있지 않은지 확인PHP MySQL의 삽입/업데이트 쿼리는 true를 반환하지만 오류
$conn->query_cust("update cms_users set last_login_date = now() where id = " . $_SESSION['USER_INFO']->id);
해요 잘 작동합니다. 어쨌든, 여기에 (디버그 정보를 원하시면이 var_dumps 포함)의 정의는 다음과 같습니다 저를 걱정 무엇
string(57) "update cms_users set last_login_date = now() where id = 1" bool(true)
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/content/XX/XXXXXXX/html/core/mysql.php on line 26
이 사실 부울을 (반환입니다 : 실행되면
function query_cust($s='',$rows=false,$organize=true) {
var_dump($s);
if (!$q=mysql_query($s,$this->con)) return false;
if ($rows!==false) $rows = intval($rows);
$rez=array(); $count=0;
$type = $organize ? MYSQL_NUM : MYSQL_ASSOC;
var_dump($q);
while (($rows===false || $count<$rows) && $line=mysql_fetch_array($q,$type)) {
if ($organize) {
foreach ($line as $field_id => $value) {
$table = mysql_field_table($q, $field_id);
if ($table==='') $table=0;
$field = mysql_field_name($q,$field_id);
$rez[$count][$table][$field]=$value;
}
} else {
$rez[$count] = $line;
}
++$count;
}
if (!mysql_free_result($q)) return false;
return $rez;
}
, 내가 말하는 경고 메시지가)하지만 (내가 틀렸다면 나에게 맞춰라) 무시할 수없는 경고가 아니다. 업데이트 쿼리를 수동으로 PHPmyAdmin으로 복사하면 (사용자가 테이블 업데이트/삽입 권한을 가짐) 작동합니다.
동일한 문제가있는 사람을위한 몇 가지 정보 : 로컬에서는 코드 실행이 아무런 문제없이 ('error_reporting = E_ALL'이 설정되어 있어도) 테스트 환경 (Godaddy의 호스팅)에서 실행될 때 경고가 표시됩니다.
추신 : 저는 PHP에 익숙하지 않습니다. (JAVA 세계 출신입니다.) 그래서 답변과 내 바보 하위 질문을 게시하는 동안 자비를 베풀어주십시오. :) 감사합니다.
는 true를 돌려주지해야한다. 리소스를 반환해야합니다. – TimWolla
정말입니까? as on http://php.net/manual/en/function.mysql-query.php "다른 SQL 문, INSERT, UPDATE, DELETE, DROP 등의 경우, mysql_query()는 성공시 TRUE를, 거짓 인 경우에는 TRUE를 반환합니다. 오류." – AlenBer
죄송합니다, 죄송합니다 :) – TimWolla