1. ホーム
  2. php

[解決済み] mysqli_queryが実行されない問題がある [重複].

2022-01-30 11:07:52

質問

今日からmysqliを使うように入れ替えを始めました。大したことはなく、いくつかのステートメントを変更するだけでした。全てはうまくいき、エラーもありませんでした... ただ、クエリを実行することができないのです。私は構文を二重三重にチェックしました。私は、エラーを返すべき状況(存在しないテーブルへのINSERT、列の制限を超えた値、型に一致しない値)を作り始めましたが...何も起こりませんでした。エラーを返さず、書き込みもしない。パラメータ1がmysqliの型でない場合は、文句を言うでしょう。

以下、該当するコードです。

$con = mysqli_connect("localhost", "root", "","test");

if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "INSERT INTO files VALUES (NULL, 5, 'hello')";
mysqli_query($con, $query);

そして何もしない。問題なく実行されますが、レコードを書き込むことはありません。queryを"hdjhkfhhjfkd"に変更しても問題なく実行されます。mysqli_query()が実行されないだけです。私が反応させることができる唯一の時間は、$conを他のものに変更した場合、mysqliタイプが必要であると文句を言われます。

感想は?これは私を狂わせます。

解決方法は?

mysqli_query()の戻り値は確認されましたか?エラーが発生した場合はFALSEを返します。その場合 mysqli_error() は、エラーに関する詳細な情報を提供します。

<?php
$con = mysqli_connect("localhost", "root", "", "test");
if (mysqli_connect_errno()) {
  printf("Connect failed: %s\n", mysqli_connect_error());
  exit();
}

$query = "INSERT INTO files VALUES (NULL, 5, 'hello')";
echo "<pre>Debug: $query</pre>\m";
$result = mysqli_query($con, $query);
if ( false===$result ) {
  printf("error: %s\n", mysqli_error($con));
}
else {
  echo 'done.';
}