web-dev-qa-db-ja.com

mysqli_queryを実行する際の問題

ここに問題があります:私は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タイプが必要であると不平を言います。

考え?これは私を大騒ぎさせています。

16
GilloD

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.';
}
34
VolkerK
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;
    }
}
0
Madhura Gimhan