sql >> Database >  >> RDS >> Mysql

Alle waarden ='s' in tabel in PHP-fout

Waarom doet var_dump(stmt['likedFour']); retourneer 's' :

Omdat je het dollarteken voor stmt mist , dus PHP denkt dat je probeert toegang te krijgen tot de constante stmt in plaats van de variabele $stmt . Aangezien je die constante niet hebt gedefinieerd, zal hij terugvallen op de veronderstelling dat je probeert toegang te krijgen tot de tekenreeks "stmt" . Voor strings moeten indices numeriek zijn, dus PHP zou je een "Illegal string offset"-waarschuwing moeten geven, maar zal proberen dit voor je op te lossen door 'likedFour' te casten naar een geheel getal (dat is 0 ).

Daarom, var_dump(stmt['likedFour']) betekent exact hetzelfde als var_dump("stmt"[0]) naar PHP, daarom krijg je de output "s" :het eerste teken van "stmt" .

Hoe u eigenlijk het resultaat kunt krijgen wil:

U moet eerst de resulterende rijen uit uw query ophalen. $stmt is de mysqli_stmt object dat u gebruikt om de query uit te voeren en de resultaten op te halen, het is eigenlijk niet het resultaat zelf.

Om uzelf in de toekomst kopzorgen te besparen, moet u altijd controleren of uw zoekopdracht zelfs succesvol is uitgevoerd voordat u de resultaten probeert op te halen. Haal vervolgens de rij met gegevens op:

$success = $stmt->execute();
if (!$success) {
    echo $stmt->error;
} else if ($stmt->num_rows == 0) {
    echo 'No results matching that username';
} else {
    $result = $stmt->get_result();
    $row = $result->fetch_assoc();
    var_dump($row['likedFour']);
}

Als je niet weet hoeveel rijen worden geretourneerd, loop er dan voor de zekerheid doorheen:

$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    var_dump($row['likedFour']);
}



  1. Tabellen zoeken die een specifieke kolom bevatten in SQL Server

  2. Methode om hiaten in tijdreeksgegevens in MySQL te vinden?

  3. Verschillende manieren om SQL Server AlwaysOn-beschikbaarheidsgroepen te bewaken

  4. Gebruik FILE_NAME() om de logische bestandsnaam te retourneren voor een gegeven bestands-ID in SQL Server