2016-06-21 9 views
1

私は同じWebサイトの他の部分でうまく動作するこのクエリを持っていますが、私はチェックが真実ではなく実際には正しく実行されるという問題にぶつかりますか?クエリは偽ですがクエリを実行します

<?php 

    $conn = new mysqli($mysql_host, $mysql_user, $mysql_password, $mysql_database); 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 

    $sql = "SELECT * FROM Stock WHERE StockItemID='12'"; 
    $result = $conn->query($sql) or die($conn->connect_error); 
    $row = $result->fetch_assoc(); 

    if ($conn->query($sql) === TRUE) { 
     echo $row['StockCategory']; 
    } else { 
     printf("Errorcode: %d\n", $conn->errno); 
    } 
    $conn->close(); 
?> 

ので、私の上記の例では、私はエコーを取得していない、私はそれが働いていなかったと思ったが、私は戻って取得 - エラーコード:0

しかし、キッカーは、私は値をエコー場合ということですテーブルからそれは動作します。あなたのクエリが行を返されたかどうかを確認したい場合は

+0

適切にチェックしてください。マニュアルから抜粋してください。 '失敗した場合はFALSEを返します。成功したSELECT、SHOW、DESCRIBEまたはEXPLAINクエリの場合、mysqli_query()はmysqli_resultオブジェクトを返します。他の成功したクエリの場合、mysqli_query()はTRUEを返します。 ' – Ghost

+0

ありがとうヒープ、Ghost。私はあなたに親指をあげたり、これを答えたところでどのようにマークするかを見つけることはできませんが、このスレッドの3つの入力すべてがヒープを助けました。 – Ash

+0

左のチェックマークをクリックして下の回答を受け入れる場合は、1つの回答のみを受け入れることができます。最高の判断を使用してください。 – Ghost

答えて

0

選択クエリは、その後は、その行自体をチェックし、結果セット

$conn = new mysqli($mysql_host, $mysql_user, $mysql_password, $mysql_database); 
if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } 
$sql = "SELECT * FROM Stock WHERE StockItemID='12'"; 
$result = $conn->query($sql) or die($conn->connect_error); 
if ($result->num_rows > 0) { 
    $row = $result->fetch_assoc(); 
    echo $row['StockCategory']; 
} else { 
    printf("Errorcode: %d\n", $conn->errno); 
} 
$conn->close(); 

http://php.net/manual/en/mysqli.query.php

+0

感謝、vibol。あなたはあなたのコードでそれを簡単にしました。それをカットアンドペーストし、彼女が行った、美しく働いた。また、リンクのおかげで、今私はそれを得ると思います - 歓声。 – Ash

0

を返します。

はい、単純で論理的です。

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); 
$conn = new mysqli($mysql_host, $mysql_user, $mysql_password, $mysql_database); 
$sql = "SELECT * FROM Stock WHERE StockItemID='12'"; 
$result = $conn->query($sql); 
$row = $result->fetch_assoc(); 
if ($row) { // here 
    echo $row['StockCategory']; 
} 
+0

あなたの助けてくれてありがとう、 'あなたの常識'。私は論理的ではないが、明らかに単純なものがたくさんあると思う。あなたの意見は多くの助けになりました。 – Ash

関連する問題