2017-03-05 17 views
1

Iすでに、mysqliを使用$database->query(...);fetch_assoc()機能が、この時間でしたが、私は非常に混乱しています...SQLエラー:戻り値はブール値ですか?

私のPHPはいつも私に言っている:

PHP Fatal error: Uncaught Error: Call to a member function fetch_assoc() on null in /var/www/vhosts/httpdocs/afterUpdate.php:24

これは私のコードです:

if($database->connect_errno){ 
$myfile = fopen("httpdocs/wp_all_import.txt", "w"); 
fwrite($myfile, "+++ After Update +++\n+++Couldn't connect to database!+++\n\n"); 
fclose($myfile); 
} 

$values = $database->query("SELECT `ID` FROM `fWR6qIN_posts` where post_type = product AND post_status = publish"); 

$k = 0; 
$count_values = mysqli_num_rows($values); 
$myfile = fopen("httpdocs/wp_all_import.txt", "w"); 
fwrite($myfile, $count_values . "\n"); 
fclose($myfile); 

while($row = $values->fetch_assoc()){ 
    if($row["ID"] != null){ 
     $k = $k + 1; 
    } 
} 

しかし、地獄はどこですか? - 私の他のPHPファイルは、まったく同じように見えますか?

mysqli_num_rowsfetch_assoc()にこのエラーが発生します。しかし、通常は2039 IDを返さなければならないのですか?

データベースエラーは発生しません。 - 接続が確立されました!

ご挨拶とありがとうございます!

+1

引用符を逃したことができました。 –

+2

@Jan質問を更新し、コメントにコードを入れないでください。また、バッククォートと引用符は異なっています。引用符は文字列用です。バッククォートは列/テーブル/ DBB用です。 – chris85

答えて

1

は、あなたが引用符を忘れてしまった明らか

$values = $database->query("SELECT `ID` 
      FROM `fWR6qIN_posts` where post_type = 'product' AND post_status = 'publish'"); 
+0

ありがとうございます。私はバールだけを引用符で囲む必要があると思った。 – Jan

+1

SQLエンジンがこれらの値をカラム名として使う代わりにリテラル値も引用する必要がある。 – scaisEdge

関連する問題