|
You last visited: Today at 12:37
Advertisement
[?]PHP in MySQL schreiben
Discussion on [?]PHP in MySQL schreiben within the Web Development forum part of the Coders Den category.
02/13/2013, 18:54
|
#16
|
elite*gold: 106
Join Date: Jun 2010
Posts: 2,256
Received Thanks: 3,867
|
Code:
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 ''key', 'name', 'date') VALUES ('testKey', 'testName', '22-11-12')' at line 1
Dieser...
|
|
|
02/13/2013, 19:27
|
#17
|
elite*gold: 25
Join Date: Sep 2011
Posts: 5,536
Received Thanks: 1,266
|
Quote:
Originally Posted by Hupfi10
Diese Datei includen:
PHP Code:
<?php
$dbhost = "localhost"; // this will ususally be 'localhost', but can sometimes differ
$dbname = "DATENBANKNAMEHIER"; // the name of the database that you are going to use for this project
$dbuser = "DATENBANKUSERHIER"; // the username that you created, or were given, to access your database
$dbpass = "PASSWORT HIER"; // the password that you created, or were given, to access your database
mysql_connect($dbhost, $dbuser, $dbpass) or die("MYSQL ERROR" . mysql_error());
mysql_select_db($dbname) or die("MYSQL ERROR" . mysql_error());
?>
Das hier ist das eigentliche Script:
PHP Code:
<?php
include "NAMEDESOBIGENSCRIPTS.PHP";
$writequery = mysql_query("INSERT INTO TABELNAME ('key', 'name', 'date') VALUES ('".$VAR1."', '".$VAR2."', '".$VAR3."')");
if (!empty($writequery))
{
echo "INSERT OK";
}
else
{
echo "INSERT NOK";
}
?>
Und die Spalte ID würde ich auf AI stellen, da das wesentlich einfacher zu handeln ist, du brauchst sowieso entweder einen Unique Wert oder einen Schlüssel, welchen ich dann einfach auf die ID Legen würde.
|
Wozu die MySQL Daten in einzelne Variablen?
warum prüfst du mit empty wenn der Rückgabe wert von mysql_query(); bei einem fail = false ergibt?
Noch dazu sind die Variablen nicht escaped.
|
|
|
02/13/2013, 19:40
|
#18
|
elite*gold: 106
Join Date: Jun 2010
Posts: 2,256
Received Thanks: 3,867
|
Um die Sicherheit zu erhöhen werden jetzt die String escaped und um den Error zu bekommen ein "die" mit "mysql_error()" gesetzt.
PHP Code:
<?php include "config.php";
$VAR1 = mysql_real_escape_string($_GET['k']); $VAR2 = mysql_real_escape_string($_GET['n']); $VAR3 = mysql_real_escape_string($_GET['d']);
$writequery = mysql_query("INSERT INTO table ('key', 'name', 'date') VALUES ('".$VAR1."', '".$VAR2."', '".$VAR3."')") or die ("<b><i>MYSQL ERROR:</i></b> ".mysql_error()); ?>
Funktionieren tuts trotzdem nicht..
|
|
|
02/13/2013, 20:37
|
#19
|
elite*gold: 0
Join Date: Dec 2009
Posts: 572
Received Thanks: 90
|
Quote:
Originally Posted by coladose
Um die Sicherheit zu erhöhen werden jetzt die String escaped und um den Error zu bekommen ein "die" mit "mysql_error()" gesetzt.
Funktionieren tuts trotzdem nicht..
|
PHP Code:
<?php
include "config.php";
$VAR1 = mysql_real_escape_string($_GET['k']);
$VAR2 = mysql_real_escape_string($_GET['n']);
$VAR3 = mysql_real_escape_string($_GET['d']);
$writequery = mysql_query("INSERT INTO table ('key', 'name', 'date') VALUES ('".$VAR1."', '".$VAR2."', '".$VAR3."')");
If (!$writequery) {
die('Ungültig ' . mysql_error());
}
?>
Probier mal so und sag welch Fehler kommt...
|
|
|
02/13/2013, 22:14
|
#20
|
elite*gold: 20
Join Date: May 2010
Posts: 2,792
Received Thanks: 1,988
|
Ich verstehe nicht warum ihr noch alle bei euren mysql_* Funktionen gleibt, diese
werden demnächst als Veraltet erklärt steigt doch endlich alle auf mysqli oder PDO um.
|
|
|
02/13/2013, 23:14
|
#21
|
elite*gold: 100
Join Date: Sep 2009
Posts: 8,143
Received Thanks: 2,763
|
Quote:
Originally Posted by iKyroja :>
Ich verstehe nicht warum ihr noch alle bei euren mysql_* Funktionen gleibt, diese
werden demnächst als Veraltet erklärt steigt doch endlich alle auf mysqli oder PDO um.
|
Es wird immer Leute geben, die an veraltender Technologie anhalten, auch wenn es in den meisten fällen nicht Empfehlenswert ist.
|
|
|
02/13/2013, 23:40
|
#22
|
elite*gold: 25
Join Date: Sep 2011
Posts: 5,536
Received Thanks: 1,266
|
Quote:
Originally Posted by iKyroja :>
Ich verstehe nicht warum ihr noch alle bei euren mysql_* Funktionen gleibt, diese
werden demnächst als Veraltet erklärt steigt doch endlich alle auf mysqli oder PDO um.
|
Bin ebenfalls auf PDO umgestiegen vor paar Wochen und kann das nur jedem empfählen.
Beispiel:
PHP Code:
$db = new PDO('mysql:host=localhost;dbname=<SOMEDB>', '<USERNAME>', 'PASSWORD'); // MySQL Connection
$stmt->prepare('INSERT INTO [table] (Key, Name, Date) VALUES (?,?,?)');
$stmt->execute(array($_GET['k'], $_GET['n'], $_GET['d']));
Hab das alles jetzt aus der Hand geschrieben vom iPad kann also Fehler enthalten.
|
|
|
02/14/2013, 12:10
|
#23
|
elite*gold: 20
Join Date: May 2010
Posts: 2,792
Received Thanks: 1,988
|
Quote:
Originally Posted by Padrio
Bin ebenfalls auf PDO umgestiegen vor paar Wochen und kann das nur jedem empfählen.
Beispiel:
PHP Code:
$db = new PDO('mysql:host=localhost;dbname=<SOMEDB>', '<USERNAME>', 'PASSWORD'); // MySQL Connection
$stmt->prepare('INSERT INTO [table] (Key, Name, Date) VALUES (?,?,?)');
$stmt->execute(array($_GET['k'], $_GET['n'], $_GET['d']));
Hab das alles jetzt aus der Hand geschrieben vom iPad kann also Fehler enthalten.
|
Wen dann schon so:
PHP Code:
<?php
try {
$db = new PDO('mysql:host='.$HOST, $USER, $PASS); // MySQL Connection
} catch(PDOException $e) {
die('Es konnte keine Verbindung zur Datenbank hergestellt werden:<br />'.$e->getMessage()); // Fehlerausgabe
}
$stmt->prepare('INSERT INTO [db].[table] (Key, Name, Date) VALUES (?,?,?)');
$stmt->execute(array($_GET['k'], $_GET['n'], $_GET['d']));
?>
|
|
|
02/15/2013, 10:04
|
#24
|
elite*gold: 25
Join Date: Apr 2010
Posts: 1,019
Received Thanks: 331
|
Ehrlich.. Wenn ihr Anfängern etwas empfehlt, dann nutzt es bitte auch richtig. Try-Catch ist KEINE!!! if-Anweisung. Es ist zur Fehlerbehandlung gedacht, beispielsweise ihr wollt danach nochmal die Daten auf Richtigkeit überprüfen und bei Unstimmigkeiten den User darauf hinweisen.
Deine Try-Catch Anweisung ist nicht gut wenn Anfänger in diesen Pool reingeworfen werden. Exceptions schmeißen automatisch eine Fehlermeldung und den Stack-Trace wenn sie nicht abgefangen werden siehe PDO beispielsweise bei falschem Host:
Quote:
|
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Der angegebene Host ist unbekannt.
|
Deine Try-Catch überprüft nichts, behandelt nichts, sondern gibt nur einen Fehler aus der so oder so ausgegeben werden würde - daher völlig nutzlos.
|
|
|
 |
|
Similar Threads
|
Mysql fehler 1130-Host 'xxxx' is not allowed to connect to this MySQL server
02/21/2017 - Metin2 Private Server - 3 Replies
Hallo Community,
und zwar ich habe ein Problem wenn ich auf Navicat gehe und auf meiner DB zugreifen möchte steht dort Mysql fehler 1130-Host 'xxxx' is not allowed to connect to this MySQL server
ich hoffe mir kannn jemand helfen oder mir es beheben..
|
Mysql fehler 1130-Host 'xxxx' is not allowed to connect to this MySQL server
10/18/2012 - Metin2 Private Server - 0 Replies
Ich brauche eure hilfe ich wollte einen P-server machen und benutzte Navicat für die DatenBank aber beim ersten mal ging es doch ich hatte dann die DB gelöscht,weil ich ein neues script hatte und dann wollte ich wieder eins machen aber es ging nicht so wie oben der Fehler
ich bitte um hilfe danke :)
aber bitte so schnell wie möglich um antwort danke
Liebe Grüße : Silver2011
|
[HowTo] Ein Ticket schreiben , Report schreiben
03/12/2012 - WarRock Guides, Tutorials & Modifications - 11 Replies
Hallo Community .
Da ich ein Tutorial der art nicht fínden konnte und die Frage häufig gestellt wird versuche ich mich mal es hier im Tutorial zusammenzufassen .
Schritt 1:
Geht auf www.gamersfirst.com und loggt euch ein . Dann geht ihr oben rechts auf Support . Dort wählt ihr dann War Rock aus . Nun seit ihr auf der Support Seite angekommen .
http://img189.imageshack.us/img189/6064/32339838. jpg
http://img196.imageshack.us/img196/870/45704890.j pg
Schritt 2:
|
All times are GMT +1. The time now is 12:38.
|
|