Hallo ich bin neu in PHP und würde es sehr schätzen, wenn mir jemand sagen könnte, wo ich in diesem Code falsch liege. Um den Code in Kontext zu setzen, verwende ich Facebook, um Benutzer zu authentifizieren und ihre Anmeldeinformationen in meine App-Datenbank einzufügen. Im folgenden Code soll überprüft werden, ob der Benutzer bereits in der Datenbank vorhanden ist und sie nicht hinzufügen. Aus irgendeinem Grund kann ich nicht testen $result
Testen, ob eine Select Query Ergebnisse gefunden hat
ich die Query-Variablen überprüft haben und sie Echo aus, ohne ein Problem
@ $con = new mysqli('localhost', 'username', 'password', 'database');
if(mysqli_connect_errno()){
echo 'Error: Could not connect to the database. Please try again later';
exit;
}
$query = "SELECT * FROM users WHERE oauth_provider = 'facebook' AND oauth_uid ='".$uid."'";
$result = $con->query($query);
if($result === FALSE){
$insertquery = "INSERT INTO ('oauth_provider', 'oauth_uid', 'username') VALUES ('facebook', '".$uid."', '".$username."')";
$result = $con->query($query);
}
Ich sollte wahrscheinlich füge ich den Code haben arbeiten, um die älteren MySQL-Ansatz . Aber ich habe gelesen, dass es besser ist, den objektorientierten mysqli-Ansatz zu verwenden.
Hier ist das alte Arbeits Code
if($session){
$con = mysql_connect('localhost', 'user', 'password');
$select_db = mysql_select_db('database');
if(!$con || !$select_db){
die('Could not connect: ' . mysql_error());
}
else{
echo "connected to database and table selected";
}
$query = mysql_query("SELECT * FROM users WHERE oauth_provider = 'facebook' AND oauth_uid = ". $user['id']);
$result = mysql_fetch_array($query);
if(empty($result)){
$query = mysql_query("INSERT INTO users (oauth_provider, oauth_uid, username) VALUES ('facebook', {$user['id']}, '{$user['name']}')");
$query = mysql_query("SELECT * FROM users WHERE id = " . mysql_insert_id());
$result = mysql_fetch_array($query);
}
}
Jede Hilfe Sie mich geschätzt geben kann.
if ($ result === FALSCH) { könnte werden if (! $ result) { – benhowdle89
if ($ Ergebnis zu überprüfen -> num_rows() == 0) sollte funktionieren. – Gazler