2016-06-21 25 views
1

Ich habe diese Abfrage, die in anderen Teilen der gleichen Website funktioniert, aber ich bin in ein Problem, wo der Check sagt, ist nicht wahr, aber es funktioniert richtig?Abfrage false, führt aber Abfrage

<?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(); 
?> 

Weil in meinem obigen Beispiel, das ich nicht das Echo bekommen habe, dachte ich, es nicht funktioniert hat, aber ich zurück - Fehlercode: 0

Aber der Kicker ist, dass, wenn ich echo einen Wert aus Vom Tisch aus funktioniert es.

+0

Verwenden Sie die entsprechende Überprüfung entsprechend, Auszüge aus dem Handbuch: 'Gibt FALSE bei Fehler zurück. Für erfolgreiche SELECT-, SHOW-, DESCRIBE- oder EXPLAIN-Abfragen gibt mysqli_query() ein mysqli_result-Objekt zurück. Für andere erfolgreiche Abfragen gibt mysqli_query() TRUE zurück. ' – Ghost

+0

Vielen Dank, Ghost. Ich kann nicht finden, wo ich Ihnen einen Daumen hoch gebe oder wie ich dies jetzt als beantwortet markieren soll, aber alle drei Eingaben in diesem Thread halfen Haufen. – Ash

+0

Wenn Ihnen diese Antworten weiterhelfen, akzeptieren Sie sie, indem Sie auf das Häkchen auf der linken Seite klicken. Sie können nur eine Antwort akzeptieren. Geben Sie Ihr Bestes. – Ghost

Antwort

0

Select Abfragen geben eine Ergebnis

$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

Hey thanks, vibol. Das hast du mit deinem Code zu leicht gemacht. Schneiden und fügen Sie es und ab ging sie, arbeitete wunderbar. Danke auch für den Link, jetzt denke ich, ich verstehe es - Prost. – Ash

0

Wenn Sie sehen möchten, ob Ihre Abfrage eine Zeile zurückgegeben, dann die Zeile selbstzu überprüfen.

Ja, so einfach und so logisch wie das.

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

Vielen Dank für Ihre Hilfe, "Ihr gesunder Menschenverstand". Ich denke, mir fehlt es an Logik, aber ich habe offensichtlich viele einfache. Dein Input hat sehr geholfen, es ist sehr geschätzt. – Ash

Verwandte Themen