2016-03-29 15 views
0

Ich habe diese seltsame Situation, wo meine Abfrage nicht tut, was es tun soll.MySQL und PHP | Update funktioniert nicht nach Auswahl

Hier mein nicht funktionierenden Code ist:

$aanbodID = 1; 
$db = //connection 

$getData = $db->query("SELECT boekbaar_iframe FROM aanbod_20160206 WHERE id_aanbod=$aanbodID") or die(mysql_error()); 
while ($row_content = mysql_fetch_array($getData)) 
{  
    $zichtbaarjanee = $row_content['boekbaar_iframe']; // 0 or 1 
} 

if ($zichtbaarjanee == 0) 
{ 
    $nieuwewaarde = 1; 
}else{ 
    $nieuwewaarde = 0; 
} 

db->query("UPDATE aanbod_20160206 SET boekbaar_iframe = '$nieuwewaarde' WHERE id_aanbod = '$aanbodID'"); 
echo mysql_error(); 

Und hier ist fast der gleiche Code, der funktioniert:

$aanbodID = 1; 
$db = //connection 

$getData = $db->query("SELECT boekbaar_iframe FROM aanbod_20160206 WHERE id_aanbod=$aanbodID") or die(mysql_error()); 
while ($row_content = mysql_fetch_array($getData)) 
{  
    $zichtbaarjanee = $row_content['boekbaar_iframe']; // 0 or 1 
} 

//switch these vars and its working  
$nieuwewaarde = 0; 
// $nieuwewaarde = 1; 

db->query("UPDATE aanbod_20160206 SET boekbaar_iframe = '$nieuwewaarde' WHERE id_aanbod = '$aanbodID'"); 
echo mysql_error(); 

Also ich vermute, ich das Problem in der if-Anweisung irgendwo, aber ich habe alles versucht, auch mit und ohne "" oder "".

Update: geändert querys mysqli_ *

das Problem ist immer noch in der if/else-Anweisung

weil dies funktioniert:

//if ($zichtbaarjanee == 0) 
//{ 
// $nieuwewaarde = 1; 
//}else{ 
    $nieuwewaarde = 0; 
//} 

Wenn ich die 0 für einen Schalter 1 Es funktioniert auch, aber wenn ich in dem Stück Code kommen, stoppt es die Tabelle zu aktualisieren

Bitte helfen Sie!

+1

und 'mysql_error()' sagt was? –

+2

Bitte [nicht mysql_ * '] verwenden (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php?rq=1); Die 'mysql_ *' - Funktionen sind veraltet, [veraltet] (http://us3.php.net/manual/en/intro.mysql.php) und unsicher. Verwenden Sie ['MySQLi'] (http://us3.php.net/manual/en/book.mysqli.php) oder [' PDO'] (http://us3.php.net/manual/en/intro. pdo.php) stattdessen. –

+0

@ Fred-ii- gibt es keinen Fehler. Laut Code sollte alles funktionieren. – Nickies

Antwort

0

Jede Instanz von MySQL muss durch MySQL ersetzt werden i Wie es in PHP 5.5 veraltet war.

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

und zu versuchen, verketten:

mysqli_query("UPDATE aanbod_20160206 SET boekbaar_iframe = '$nieuwewaarde' WHERE id_aanbod = '$aanbodID'"); 

Ich verstehe Sie versuchen, die Variable in der Abfrage, aber in diese einzubetten:

geändert werden
mysql_query("UPDATE aanbod_20160206 SET boekbaar_iframe = ".$nieuwewaarde." WHERE id_aanbod = ".$aanbodID.""); 

Sollte Fall würde es nur 2 Punkte auf jeder Seite Ihrer Variablen hinzufügen.

+0

Danke für Ihre Antwort, aber es funktioniert nicht. Wie gesagt, das Problem liegt in der if-Anweisung, nicht in der Abfrage. – Nickies

+0

Aktualisieren Sie Ihren ursprünglichen Code mit der neuen und verbesserten Version, gibt mir und anderen eine bessere Vorstellung davon, was falsch sein könnte. – Tommy