PHP
一般的なエラー
サーチ…
予期しない$ end
Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\stack\index.php on line 4
このようなエラーが発生した場合(またはPHPのバージョンによってはunexpected $end
)、逆アセンブルされたすべてのカンマ、すべてのカッコ、すべての中括弧、すべてのカッコなどが一致していることを確認する必要があります。
次のコードは、上記のエラーを生成しました:
<?php
if (true) {
echo "asdf";
?>
中括弧がないことに注目してください。また、このエラーで表示される行番号は無関係であることに注意してください。これは常にドキュメントの最後の行を表示します。
ブール値でfetch_assocを呼び出す
次のようなエラーが発生した場合:
Fatal error: Call to a member function fetch_assoc() on boolean in C:\xampp\htdocs\stack\index.php on line 7
他のバリエーションには、次の行に沿ったものがあります。
mysql_fetch_assoc() expects parameter 1 to be resource, boolean given...
これらのエラーは、あなたのクエリ(これはPHP / MySQLのエラーです)または参考文献のいずれかに間違いがあることを意味します。上記のエラーは次のコードによって生成されました:
$mysqli = new mysqli("localhost", "root", "");
$query = "SELCT * FROM db"; // notice the errors here
$result = $mysqli->query($query);
$row = $result->fetch_assoc();
このエラーを「修正」するには、代わりにmysql例外をスローすることをお勧めします。
// add this at the start of the script
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
これは代わりに、このはるかに役に立つメッセージで例外をスローします:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELCT * FROM db' at line 1
同様のエラーが発生する別の例は、単にmysql_fetch_assoc
関数などに間違った情報を与えただけです。
$john = true;
mysqli_fetch_assoc($john, $mysqli); // this makes no sense??
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow