Ich bin ein veraltet Fehler mit dem folgenden Code bekommenmysql verbinden veraltet immer Fehler
require 'dbconfig.php';
function checkuser($fuid,$ffname,$femail){
$check = mysql_query("select * from Users where Fuid='$fuid'");
$check = mysql_num_rows($check);
if (empty($check)) { // if new user . Insert a new record
$query = "INSERT INTO Users (Fuid,Ffname,Femail) VALUES ('$fuid','$ffname','$femail')";
mysql_query($query);
} else { // If Returned user . update the user record
$query = "UPDATE Users SET Ffname='$ffname', Femail='$femail' where Fuid='$fuid'";
mysql_query($query);
}
}
aber jedes Mal wenn ich versuche mysqli
zu verwenden, erhalte ich einen Fehler
Warning: Cannot modify header information - headers already sent by
, was soll ich tun?
Ihren Code korrigieren? Das wäre der erste Schritt. Es gibt absolut keinen Grund, dass der Wechsel von mysql_ zu mysqli_ Ihnen Header-Fehler geben sollte, es sei denn, Sie haben Fehler vor einem Header ausgegeben - übrigens, nichts in dem bereitgestellten Code zeigt Header-Informationen, daher ist es nutzlos für uns, durchzusehen. Die direkte Änderung von mysql_ zu mysqli_ wird auch dem wirklichen Problem nicht helfen, das sind nicht vorbereitete Abfragen. Lesen Sie "vorbereitete Abfragen mit mysqli", machen Sie eine anständige Fehlerbehandlung und/oder schreiben Sie den vollständigen Code hier. – junkfoodjunkie
Da mysql_ * in PHP 5.5 veraltet ist (siehe [PHP doc] (http://php.net/manual/en/function.mysql-connect.php)) sollten Sie ** wirklich ** die Verwendung von [PPS : Vorbereitete parametrisierte Anweisungen] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php). Dies wird helfen [SQL-Injection verhindern] (http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php). Aber das hat nichts mit der 'Warnung: Header bereits gesendet ' – OldPadawan
' mysqli' oder 'mysql' zu tun? Fügen Sie den Hinweis und Ihren tatsächlichen Code ein, wenn Sie 'mysqli' verwenden. Dieser Code verwendet 'mysql_'. – chris85