Avatar billede tanzaweb Nybegynder
26. december 2009 - 20:34 Der er 9 kommentarer og
1 løsning

for the right syntax to use near '

Hej Jeg får en fejl i my insert sætning, og tror det har noget med et ' at gøre i teksten jeg indsætter min sql ser således ud, og kan ikke lige huske hvordan jeg løser det, men håber en af jer kan :-) her er sql'en:

mysql_query ("INSERT INTO products (prod_number,prod_name,prod_picture,prod_desc,prod_quantity,prod_price,prod_weight,prod_features,prod_date,prod_KatId,prod_SubKatId)
    VALUES ('{$_POST['prod_number']}','{$_POST['prod_name']}','$path_1','{$_POST['prod_desc']}','{$_POST['prod_quantity']}','{$_POST['prod_price']}','{$_POST['prod_weight']}','{$_POST['prod_features']}',NOW(),'{$_POST['KatId']}','".$_POST["SubKatId$KatId"]."')") or die(mysql_error());
Avatar billede arne_v Ekspert
26. december 2009 - 20:43 #1
Prøv lige:

$sqlstr = "INSERT INTO products (prod_number,prod_name,prod_picture,prod_desc,prod_quantity,prod_price,prod_weight,prod_features,prod_date,prod_KatId,prod_SubKatId)
    VALUES ('{$_POST['prod_number']}','{$_POST['prod_name']}','$path_1','{$_POST['prod_desc']}','{$_POST['prod_quantity']}','{$_POST['prod_price']}','{$_POST['prod_weight']}','{$_POST['prod_features']}',NOW(),'{$_POST['KatId']}','".$_POST["SubKatId$KatId"]."')";
echo $sqlstr;
mysql_query ($sqlstr) or die(mysql_error());

og fortæl os hvad den SQL streng indeholder.
Avatar billede tanzaweb Nybegynder
26. december 2009 - 20:52 #2
indeholder følgende:

Sti til billede: INSERT INTO products (prod_number,prod_name,prod_picture,prod_desc,prod_quantity,prod_price,prod_weight,prod_features,prod_date,prod_KatId,prod_SubKatId) VALUES ('920-001374','Logitech DiNovo Keyboard for Notebooks [sep08]','/Shop/images/Logitech-920-001374-12kb.jpg','Add this stylish, full-sized keyboard with integrated number-pad to your notebook-based workspace, and enjoy enhanced performance along with the flexibility of a portable solution. Design - Modern, elegant design: Add an element of style to any notebook-based workspace, with an ultra-slim profile, piano-black finish, and brushed-aluminum palm rest. Performance - Stand-alone freedom: Use this performance keyboard with any Logitech mouse and notebook stand, so you can type and work in a position that's most comfortable for you. - Our longest-lasting battery life: Three-year battery life minimizes the hassle of changing batteries. A flashing battery-indicator light alerts you when your batteries are low. - Powerful, reliable connection: Logitech's advanced 2.4 GHz wireless technology dramatically reduces interference and features an extremely fast data rate, virtually no delays or dropouts, and encryption for advanced security. Enjoy all the benefits of a cord with the convenience of cordless. Comfort - Premium typing experience: Logitech's PerfectStroke™ key system with precision micro-scissors makes each keystroke comfortable, fluid, and silent. - Integrated number pad: Enjoy fast and effortless data entry.','4','300','1200','0',NOW(),'38','194')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 's PerfectStroke™ key system with precision micro-scissors makes each keystroke c' at line 2
Avatar billede arne_v Ekspert
26. december 2009 - 21:04 #3
Logitech's

indeholder en ' og så går det galt !

Prøv i første omgang med noget mysql_real_esape_string.
Avatar billede arne_v Ekspert
26. december 2009 - 21:04 #4
Og senere skift så til mysqli og prepared statement.
Avatar billede tanzaweb Nybegynder
26. december 2009 - 21:27 #5
øøh, hvordan gør jeg lige det :-)
Har ikke fået lavet noget PHP, mysql i 1 års tid så skal lige opfriskes.
Avatar billede arne_v Ekspert
26. december 2009 - 21:33 #6
Avatar billede tanzaweb Nybegynder
26. december 2009 - 22:07 #7
kan ikke rigtig få det til at virker, har prøvet med flere forskellige opsætninger, men kan ikke rigtig komme videre.
Avatar billede arne_v Ekspert
26. december 2009 - 22:16 #8
$sqlstr = "INSERT INTO products (prod_number,prod_name,prod_picture,prod_desc,prod_quantity,prod_price,prod_weight,prod_features,prod_date,prod_KatId,prod_SubKatId)
    VALUES ('" . mysql_real_escape_string($_POST['prod_number']) . "','" . mysql_real_escape_string($_POST['prod_name']) . "','$path_1','" . mysql_real_escape_string($_POST['prod_desc']) . "','" . mysql_real_escape_string($_POST['prod_quantity']) . "','" . mysql_real_escape_string($_POST['prod_price']) . "','" . mysql_real_escape_string($_POST['prod_weight']) . "','" . mysql_real_escape_string($_POST['prod_features']) . "',NOW(),'" . mysql_real_escape_string($_POST['KatId']) . "','" . mysqæ_real_escape_string($_POST['SubKatId$KatId']) . "')";
echo $sqlstr;
mysql_query ($sqlstr) or die(mysql_error());
Avatar billede tanzaweb Nybegynder
26. december 2009 - 22:42 #9
Det virkede jo, manglede lige ", tak, smide et svar
Avatar billede arne_v Ekspert
26. december 2009 - 22:51 #10
svar kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester