Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 12:37

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[?]PHP in MySQL schreiben

Discussion on [?]PHP in MySQL schreiben within the Web Development forum part of the Coders Den category.

Reply
 
Old 02/13/2013, 18:54   #16
 
coladose's Avatar
 
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...
coladose is offline  
Old 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 View Post
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.
IchVerabschiedeMich is offline  
Thanks
1 User
Old 02/13/2013, 19:40   #18
 
coladose's Avatar
 
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..
coladose is offline  
Old 02/13/2013, 20:37   #19
 
beefm4ker's Avatar
 
elite*gold: 0
Join Date: Dec 2009
Posts: 572
Received Thanks: 90
Quote:
Originally Posted by coladose View Post
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..

Probier mal so und sag welch Fehler kommt...
beefm4ker is offline  
Old 02/13/2013, 22:14   #20

 
iKyroja :>'s Avatar
 
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.
iKyroja :> is offline  
Old 02/13/2013, 23:14   #21


 
.Marcel''s Avatar
 
elite*gold: 100
Join Date: Sep 2009
Posts: 8,143
Received Thanks: 2,763
Quote:
Originally Posted by iKyroja :> View Post
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.
.Marcel' is offline  
Old 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 :> View Post
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.
IchVerabschiedeMich is offline  
Old 02/14/2013, 12:10   #23

 
iKyroja :>'s Avatar
 
elite*gold: 20
Join Date: May 2010
Posts: 2,792
Received Thanks: 1,988
Quote:
Originally Posted by Padrio View Post
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']));

?>
iKyroja :> is offline  
Thanks
1 User
Old 02/15/2013, 10:04   #24

 
Synatex's Avatar
 
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.
Synatex is offline  
Thanks
2 Users
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.