-1

現在、mysqliを使用してスクリプトを作成しようとしていますが、実行すると500内部エラーが返されますが、fatch_arrayを削除すると、スクリプトなしで実行されます。私はPHP.Netmysqli_Manualを使用しています。PHPコード

<?php
{ /* Global Data */
$GetPath = $_GET['p'];
$SqlUser = "root";
$SqlPass = "***********";
$SqlHost = "localhost";
$SqlData = "Site";
}
{ /* Mysql Connect */
$Sql = new mysqli($SqlHost, $SqlUser, $SqlPass, $SqlData);
if ($Sql->connect_error) { die("Sorry, Could not connect (".$Sql->connect_errno.") ".$Sql->connect_error);}
}
{ /* Test */
$Page = $Sql->real_escape_string($GetPath);
$SqlData = "SELECT * FROM pages WHERE Page = '".$Page."'";
$SqlQuery = $Sql->query($SqlData);
$Data = $SqlQuery->fetch_array(MYSQLI_ASSOC);
echo $Data['Title'];
$Sql->close();
}
?>

では、これの原因は何ですか?以前はmysql_/コマンドを使用していましたが、現在はmysqli_*に切り替えています。

4

2 に答える 2

0

あなたのコードは問題ありません。あなたのクエリは間違っています。

1つのことは、それを引き起こしているのは$GetPath = $_GET['p'];

空であるか、間違ったクエリを作成する値を持っています。

または、テーブル名が間違っています。

于 2012-08-29T18:00:00.460 に答える
-1

クエリが成功すると仮定しないでください。

$SqlQuery = $Sql->query($SqlData);

if (!$SqlQuery) {
    echo $mysqli->error;
}

あなたの場合$_GET['p']は未定義です。おそらくクエリが失敗する原因ですが、エラーをチェックしない限りわかりません。

于 2012-08-29T18:02:29.777 に答える