Piotr T.

Piotr T. Mobile software
developer / Product
engineer

Temat: mysql_connect i błąd - pomóżcie bo ja wysiadam :)

Cześć,
potrzebuje na prędkości (do jutra) napisać pewien skrypt, zabawę z PHP zostawiłem dość dawno temu. Oto błąd który dostaję:

You have an error in SQL syntax; check the manual that corresponds to your mysql server version for the right syntax to use near 'png,'1')' at line 1

Oto kawałek skryptu gdzie się wywala:

$connection = @mysql_connect($dbhost, $dbuser, $dbpass) or die ("connection failed");
$db = @mysql_select_db($dbname, $connection) or die ("cannot select db");
mysql_query("insert into main (title, comment, date, file, suma) values ('tytul','komentarz','2009-11-02 17:40:03'," . $image_name . ",'1')") or die (mysql_error());
mysql_close($connection);

Kiedy $image_name zastąpię stringiem i wkleję zapytanie do phpmyadmin to wszystko hula.

Będę wdzięczny za pomoc.
pozdrawiam
piotrek

konto usunięte

Temat: mysql_connect i błąd - pomóżcie bo ja wysiadam :)

$connection = @mysql_connect($dbhost, $dbuser, $dbpass) or die ("connection failed");
$db = @mysql_select_db($dbname, $connection) or die ("cannot select db");
mysql_query("insert into main (title, comment, date, file, suma) values ('tytul','komentarz','2009-11-02 17:40:03','" . $image_name . "','1')") or die (mysql_error());
mysql_close($connection);


miałeś literówkę:
" . $image_name . "

zamiast:
'" . $image_name . "'

konto usunięte

Temat: mysql_connect i błąd - pomóżcie bo ja wysiadam :)

osobiscie jak komus daje kod do czytatania, to mniej wiecej tak to robie :

http://pastebin.com/m2ae534a8

Nie widze nigdzie kodu odpowiedzialnego za escapowanie tego stringa, nie widze nigdzie apostrofow dokola stringa. Wiec to pewnie to.

No i z samego komunikatu bledu :
You have an error in SQL syntax; check the manual that corresponds to your
mysql server version for the right syntax to use near 'png,'1')' at line 1

Wynika ze png nie jest zakonczone apostrofem, wiec pewni tez nie objete z przodu.

Pozdr

konto usunięte

Temat: mysql_connect i błąd - pomóżcie bo ja wysiadam :)

Musisz te PNG zamknąć też w cudzysłów:
(...) 17:40:03','" . $image_name . "','1')") (...)

Pozdro.

EDIT:
Jakie tempo pomocy! Człowiek nie zdążył napisać, a tu już odpowiedzi ;)Piotr Parzentny edytował(a) ten post dnia 02.11.09 o godzinie 18:04
Piotr T.

Piotr T. Mobile software
developer / Product
engineer

Temat: mysql_connect i błąd - pomóżcie bo ja wysiadam :)

arghhhhh dokładnie! brawo Panowie!
Serdeczne dzięki
temat do zamknięcia

pozdrawiam
piotrek
Paweł G.

Paweł G. Managing Director

Temat: mysql_connect i błąd - pomóżcie bo ja wysiadam :)

Kamil Brenk:

miałeś literówkę:
" . $image_name . "

zamiast:
'" . $image_name . "'

Tylko po co tyle apostrofów? Nie lepiej tylko '$image_name' zamiast '" . $image_name . "' ?
Tomasz K.

Tomasz K. Senior Tooling
Engineer

Temat: mysql_connect i błąd - pomóżcie bo ja wysiadam :)

Polecam także zapoznać się z biblioteką PDO (PHP5). Opis na php.net
Michał Stachura

Michał Stachura Dedykowane serwisy i
strony www -
http://santri.eu

Temat: mysql_connect i błąd - pomóżcie bo ja wysiadam :)

Tomasz Konopiński:
Polecam także zapoznać się z biblioteką PDO (PHP5). Opis na php.net

Również polecam. Mija tak gdzieś miesiąc jak przesiadłem się całkowicie na PDO i jakbym miał teraz wrócić do starego sposobu... brr aż mnie ciarki przeszły :).

fetchAll() - rządzi.

Tutaj nieco więcej wraz z praktycznymi przykładami:
http://blog.natodia.net/2009/08/pdo-czyli-zabawa-z-php...

konto usunięte

Temat: mysql_connect i błąd - pomóżcie bo ja wysiadam :)

Paweł G.:
Tylko po co tyle apostrofów? Nie lepiej tylko '$image_name' zamiast '" . $image_name . "' ?
Też prawda ;) Nie myślałem o kosmetycznych szczegółach udzielając wskazówek, a raczej o zlokalizowaniu błedu :)

Btw.
A jeśli komuś się śpieszy to niech spróbuje użyć jakiegoś ORM, np. Propel. Szybciej i łatwiej się nie da ;)

konto usunięte

Temat: mysql_connect i błąd - pomóżcie bo ja wysiadam :)

Poza tym te małpki to średni pomysł :) Skaszani Ci się coś w tych instrukcjach i będziesz godzinami śleczał nad namierzeniem błędu :)



Wyślij zaproszenie do