ここに問題があります:私は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.';
}
public function connection()
{
$con=mysqli_connect('localhost','root','','int');
return $con;
}
public function login($u,$p)
{
$fd=$this->connection();
$sql = "SELECT * FROM user WHERE (uname = '".$u."' AND pass = '".$p."')";
$result = mysqli_query($fd,$sql);
$num = mysqli_num_rows($result);
if($num)
{
return TRUE;
}
else
{
return FALSE;
}
}