私は前にmysqliを使用しています。これでmysqliを準備しました。私は、アップロード画像と、特定のデータを更新しようとしていると私はエラーmysqli_stmt_bind_result(): Number of bind variables doesn't match number of fields in prepared statement in line 30
を取得する理由を私は知らないし、以下mysqli_query($conn, $query)
mysqliを使ってデータベースを更新するには?
は私のUPDATEクエリのコードであるようにもどのように私はmysqliのクエリでクエリを実行することができます:
if (isset($_POST['submit'])) {
$imageName = mysqli_real_escape_string($conn, $_FILES["latest_photo"]["name"]);
$imageData = mysqli_real_escape_string($conn, file_get_contents($_FILES["latest_photo"]["tmp_name"]));
$imageType = mysqli_real_escape_string($conn, $_FILES["latest_photo"]["type"]);
if (substr($imageType, 0,5) == "image") {
$query = "UPDATE `crew_info` SET `updated_photo` = ? WHERE `id` = ?";
$stmt = mysqli_prepare($conn, $query);
mysqli_stmt_bind_param($stmt, 'ss', $imageData, $_GET['id']);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $id, $updated_photo);
//HOW CAN I EXECUTE THE QUERY HERE?
echo "Image Uploaded";
}
else {
echo "Image is not uploaded!";
}
}
上記のコードでは、クエリの実行方法に関するコメント行があります。どうやってやるの?みんな
編集ありがとう:
をまた、私はボタンのアップロード]をクリックすると、画像がアップロードされていることを言いますが、データベースには表示されません。何故ですか?
私の 'mysqli_stmt_bind_result()'には、そのテーブルにすべてのカラムを含めようとしました。 –
あなたは結果を返さない更新ステートメントを実行しています。そのため、mysqli_stmt_bind_resultで結果にバインドできません。結果が返されるようにするには、 'SELECT crew_info、updated_photo WHERE id =? 'のような2番目のステートメントが必要です。 –
mysqliの準備が新しくなった –