0

準備済みステートメントを使用するように php スクリプトを変換しようとしていますが、エラーが発生しています....何が問題なのか知っている人はいますか?

<?php
define("DB_DSN","xxx");
define("DB_HOST","xxx");
define("DB_USER","xxx");
define("DB_PASS","xxx");

$con = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die('Could not connect: ' . mysql_error());
mysql_select_db(DB_DSN) or die('Could not select database');
$stmt = $con->prepare("UPDATE Level01 SET Deaths=:Deaths WHERE DeathID= :DeathID");
$stmt->bindParam(':Deaths', $deaths);
$stmt->bindParam(':DeathID', $id);

$id = base64_decode($_GET["id"]);
$deaths = base64_decode($_GET["deaths"]);       
$uresult = $stmt->execute();
if(! $uresult )
{
  die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";
mysql_close($con);
exit;

これは私のエラーです: 致命的なエラー: 非オブジェクトでメンバー関数 prepare() を呼び出す

4

3 に答える 3

4

mysql_connectMySQLi オブジェクトではなく、MySQL リソースを返します。

MySQL と MySQLi を混在させているようです。MySQL はプリペアド ステートメントをサポートしていないため、これらは相互のドロップイン代替品ではありませもう一度マニュアルを読んでください。そこにはすべて非常に明確に説明されています。

于 2013-09-30T11:56:51.793 に答える