senden Sie json-Daten aus php
Bin ich Total neu in Php und ich versuche zu senden, json-Daten aus php auf android.Ich habe den folgenden code in php zu Lesen, Wert aus Datenbank:
<?php
$con=mysql_connect("localhost","root","");
if(! $con)
{
die('Connection Failed'.mysql_error());
}
mysql_select_db("registration",$con);
$name="Adam";//$_POST["name"];
$password="charles";//$_POST["password"];
$sql="SELECT * FROM users WHERE name='$name'and password='$password'";
$result=mysql_query($sql, $con);
while($row = mysqli_fetch_array($result))
{
$details= array(
'name' => $row['name'],
'password' => $row['password'],
);
array_push($json, $bus);
}
$jsonstring = json_encode($json);
echo $jsonstring;
mysql_close();
?>
Ich nehme an, dass die Ausgabe in etwa so aus:
[{"name":"Adam","age":"25","surname":"charles"}]
Wenn ich mich nicht Irre JSON-Daten.
Aber das gibt mir Fehler :
mysqli_fetch_array() expects parameter 1 to be mysqli_result, resource given in...
und auch
Undefined variable: json in...
kann jemand pleease sagen Sie mir, was könnten mögliche Fehler
1. Sie sind mit
mysql_*
und mysqli_*
(wählen Sie eine, und wählen Sie bitte mysqli 🙂 ). 2. $json
ist nicht überall definiert (definieren Sie ihn oben mit $json = array();
). 3. $bus
ist nicht definiert, überall - meinst du $details
? 4. Bitte machen Sie sich vertraut mit SQL-Injection (en.wikipedia.org/wiki/SQL_injection).
InformationsquelleAutor Raj | 2013-03-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, da dies
Und mysql ist veraltet, wenn Sie verwenden können, mysqli oder PDO
Du bist willkommen 😀
InformationsquelleAutor Sam
Zusätzlich zu den vorgeschlagenen änderungen von sam und pitchinnate, auch prüfen, hinzufügen von php-header die content-type für json
Ist, dass wenn Sie mit android-anfordern von json-Daten aus der Ferne
InformationsquelleAutor Sixthpoint
Sind Sie mit
mysql_query
mitmysqli_fetch_array
. Sie benötigenmysql_fetch_array
.Jedoch mysql_* Funktionen sollten nicht mehr verwendet werden.
Auch ein weiterer Fehler:
InformationsquelleAutor Pitchinnate
Ich denke, Sie sollten überprüfen Sie den Inhalt Sie die variable $Ergebnis (var_dump()); In der Tat, wenn das Ergebnis nicht definiert ist, wird Ihr Programm nicht in die Schleife und $json nicht definiert werden.
InformationsquelleAutor
Undefined variable: json
verursacht wird, weil Sie versuchen zu tun array_push($json, $bus), aber $json nicht existiert.
sollten Sie es erklären, erste
Den mysql-Fehler ist wahrscheinlich verursacht, weil Sie mischen die mysql-und mysqli-Module.
Mysqli verwendet nur.
Außerdem ist es generell eine schlechte Idee für die Speicherung der Passwörter im Klartext. Erwägen Sie die Verwendung einer hash-Funktion mindestens.
InformationsquelleAutor Ignacio Quintero