![]() |
[PHP/SQP] INSERT INTO wird nicht ausgeführt
Hey Leute,
bin am verzweifeln... Habe diesen Code:
SQL-Code:
Dann lade ich den Script hoch und führe ihn per Delpi so aus:
global $db_server,$db_user,$db_passwort, $db_name;
$db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen"); $db_check = @MYSQL_SELECT_DB($db_name); if($db) echo "Verbindung zur Datenbank wurde hergestellt"; $result = mysql_query("INSERT INTO 11-04 (ra) VALUES ('j')"); $eintragen = mysql_query($result); echo $result; echo mysql_error();
Delphi-Quellcode:
Das Memo übergibt nur den Fehler: Query was empty!
procedure TForm1.Button1Click(Sender: TObject);
var sl : TStringlist; begin sl := TStringList.Create; sl.Add('$db_server='+Edit1.Text); sl.Add('$db_name='+Edit2.Text); sl.Add('$db_user='+Edit3.Text); sl.Add('$db_passwort='+Edit4.Text); sl.Add('$mode=insert'); Memo1.Text := idHttp1.Post('http://www.xxxx.com/xxxx.php',sl); FreeAndNil(sl); end; Aber warum? ist es doch nicht. Ich möchte doch nur in die Tabelle 11-04 in die Spalte ra den Wert xy eintragen... Was mache ich da falsch? Danke im Vorraus Bye |
Re: [PHP/SQP] INSERT INTO wird nicht ausgeführt
Als ersten würde ich den Tabellennamen in Anführungsstriche setzen :
Delphi-Quellcode:
Und die Aufruf Procedure darf die $ Zeichen nicht haben :
$result = mysql_query("INSERT INTO '11-04' (ra)
VALUES ('j')");
Delphi-Quellcode:
Ausserdem muss dann bei dem PHP RGISTER_GLOBALS an sein, sonst musst du im PHP-Script schreiben :
procedure TForm1.Button1Click(Sender: TObject);
var sl : TStringlist; begin sl := TStringList.Create; sl.Add('db_server='+Edit1.Text); sl.Add('db_name='+Edit2.Text); sl.Add('db_user='+Edit3.Text); sl.Add('db_passwort='+Edit4.Text); sl.Add('mode=insert'); Memo1.Text := idHttp1.Post('http://www.xxxx.com/xxxx.php',sl); FreeAndNil(sl); end;
Delphi-Quellcode:
$db = @MYSQL_PCONNECT($_POST['db_server'],$_POST['db_user'],$_POST['db_passwort'])
or die ("Konnte keine Verbindung zur Datenbank herstellen"); $db_check = @MYSQL_SELECT_DB($_POST['db_name']); if($db) echo "Verbindung zur Datenbank wurde hergestellt"; |
Re: [PHP/SQP] INSERT INTO wird nicht ausgeführt
Hi,
also die $-Zeichen sind schon richtig, da sie ganz oben, außerhalb dieser Funktion, also Global-Deklariert sind. Und zwar folgendermaßen:
SQL-Code:
Ich habe den Tabellennamen in ' ' gesetzt, aber das Resultat ist das gleiche, wie vorhin...
<?PHP
$db_server=$_POST['$db_server']; $db_name=$_POST['$db_name']; $db_user=$_POST['$db_user']; $db_passwort=$_POST['$db_passwort']; $mode=$_POST['$mode']; /EDIT Hier am besten der gesamte Script...
SQL-Code:
<?PHP
$db_server=$_POST['$db_server']; $db_name=$_POST['$db_name']; $db_user=$_POST['$db_user']; $db_passwort=$_POST['$db_passwort']; $mode=$_POST['$mode']; /*echo $_POST['$db_server'].chr(13).chr(10);*/ /*echo $_POST['$db_name'].chr(13).chr(10);*/ /*echo $_POST['$db_user'].chr(13).chr(10); */ /*echo $_POST['$db_passwort'].chr(13).chr(10);*/ /*echo $test;*/ switch ($mode) { case "insert": insert(); break; } function connect() { global $db_server,$db_user,$db_passwort, $db_name; $db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen"); $db_check = @MYSQL_SELECT_DB($db_name); if($db) echo "Verbindung zur Datenbank wurde hergestellt"; //////WIRD NICHT BENUTZT\\\\\\\ } function insert() { global $db_server,$db_user,$db_passwort, $db_name; $db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen"); $db_check = @MYSQL_SELECT_DB($db_name); if($db) echo "Verbindung zur Datenbank wurde hergestellt"; $result = mysql_query("INSERT INTO '11-04' (ra) VALUES ('j')"); $eintragen = mysql_query($result); echo $result; echo mysql_error(); } ?> |
Re: [PHP/SQP] INSERT INTO wird nicht ausgeführt
Also ich würde das nicht so machen :
Delphi-Quellcode:
Ich weiss nicht wie PHP drauf reagiert.
$mode=$_POST['$mode'];
Ich würd mal (Nur zum testen) in Delphi und bei den $_POST die $ weglassen :
Delphi-Quellcode:
$mode=$_POST['mode'];
|
Re: [PHP/SQP] INSERT INTO wird nicht ausgeführt
Funzt auch nicht. Da regt sich dann garnichts. Es hatte ja schonmal funktioniert, aber ich depp musste natürlich noch was dran ändern und hatte keine Kopie... :wall:
An den $ liegt es nicht. Das kann ich ausschließen Hast du vielleicht sonst noch eine Idee? Meine Felddeklaration ist VarChar Und die Länge 5. |
Re: [PHP/SQP] INSERT INTO wird nicht ausgeführt
Damit kommt mein PHPMyAdmin nicht klar :
Code:
INSERT INTO '11-04'
SET ra = 'j' MySQL meldet: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''11-04' SET ra = 'j'' at line 1
Code:
Also Tabellennamen nicht in Anführungsstriche, d.h. aber auch keine arithmetischen zeichen wie - + * /
INSERT INTO '11-04'( ra )
VALUES ( 'j' ) MySQL meldet: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''11-04'( ra ) VALUES ( 'j' )' at line 1 Versuch mal :
Code:
INSERT INTO a SET ra = 'j'
|
Re: [PHP/SQP] INSERT INTO wird nicht ausgeführt
UM DAS DESASTER (ODER WIE MAN DAS SCHREIBT) ZU BEENDEN, HIER DER RICHTIGE CODE!!!
SQL-Code:
Ich weiß, dass die Zeile ("INSERT INTO `1104` (`Datum`,`Zeit`,`Name`,`Wert`) sehr seltsam aussieht, aber es funzt wunderbar!
<?PHP
$db_server=$_POST['$db_server']; $db_name=$_POST['$db_name']; $db_user=$_POST['$db_user']; $db_passwort=$_POST['$db_passwort']; $mode=$_POST['$mode']; $Datum=$_POST['$Datum']; $Zeit=$_POST['$Zeit']; $Name=$_POST['$Name']; $Wert=$_POST['$Wert']; /*echo $_POST['$db_server'].chr(13).chr(10);*/ /*echo $_POST['$db_name'].chr(13).chr(10);*/ /*echo $_POST['$db_user'].chr(13).chr(10); */ /*echo $_POST['$db_passwort'].chr(13).chr(10);*/ /*echo $test;*/ switch ($mode) { case "insert": insert(); break; case "drop": drop(); break; } function drop() { global $db_server,$db_user,$db_passwort, $db_name; $db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen"); $db_check = @MYSQL_SELECT_DB($db_name); if($db) echo "Verbindung zur Datenbank wurde hergestellt"; } function insert() { global $db_server,$db_user,$db_passwort, $db_name, $Datum, $Zeit, $Mandant, $Ra; $db = @MYSQL_PCONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen"); $db_check = @MYSQL_SELECT_DB($db_name); if($db) echo "Verbindung zur Datenbank wurde hergestellt"; $sql = mysql_query("INSERT INTO `1104` (`Datum`,`Zeit`,`Name`,`Wert`) VALUES ('$Datum', '$Zeit', '$Name', '$Wert')"); $var = mysql_insert_id(); echo $var; echo mysql_error(); } ?> Und ich kam folgendermaßen drauf. Wer PHPMyAdmin benutzt, wird es kennen. Immer, wenn man eine Aktion durchführt, gibt PHPMYADMIN einen PHP oder SQL-Code aus. Diesen kopiert, in den Script eingebaut, keine Zeichen verändert und siehe da - es funzt! :bouncing4: :bounce1: :firejump: :bounce2: Gute Nacht! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz