-4

重複の可能性:
警告: mysql_fetch_array() は、パラメーター 1 がリソースであると想定しています。

エラー -> 警告: mysql_fetch_array() は、パラメーター 1 がリソースであると想定しています。

    $sql = "SELECT * FROM pictures WHERE filename=$filename";
//makes a query to the database using the question in variable sql.
$result = mysql_query($sql);

ERROR ->if(!($row = mysql_fetch_array($result)))
    {
     //code.......

わかりません、何が間違っているのですか、パラメーターに問題はありません...

4

2 に答える 2

3

これは、クエリに問題があることを意味します。推測では、変数を引用符で囲む必要があることをお勧めします。

$sql = "SELECT * FROM pictures WHERE filename='$filename'";

でも

関数を使用しないことも検討する必要がありますmysql_*-それらは廃止されています。PDOまたは mysqli_ に切り替えると、より安全なコードを生成するのに役立つだけでなく、値の引用も整理されます。

于 2012-09-11T16:50:44.973 に答える
2

エラー メッセージは非常に明確です。mysql_query から返された値はリソースではなくブール値 (FALSE) であり、クエリが失敗したことを意味します。

おそらく次のようなものが必要です。

$sql = "SELECT * FROM pictures WHERE filename='$filename'";
$result = mysql_query($sql);
if($result && $row = mysql_fetch_array($result)) { ... }
于 2012-09-11T16:53:18.167 に答える