herghost Posted March 18, 2010 Share Posted March 18, 2010 Hi guys, anyone help me with this? here is my form input: $checkBoxes = array('name', 'changemx', 'traceaddy', 'addoncgi', 'addondomains', 'zoneedit', 'advguest', 'agora', 'analog', 'handlers', 'autoresponders', 'awstats', 'backup', 'backupwizard', 'bandwidth', 'boxtrapper', 'cgi', 'csvimport', 'setlang', 'style', 'chat', 'statselect', 'counter', 'cron', 'errpgs', 'defaultaddress', 'dirselector', 'diskusageviewer', 'popaccts', 'emailauth', 'emaildomainfwd', 'blockers', 'emailscripts', 'entropybanner', 'entropysearch', 'errlog', 'fantastico', 'Fantastico_De_Luxe', 'filemanager', 'forwarders', 'frontpage', 'ftpaccts', 'ftpsetup', 'getstart', 'hotlink', 'ipdeny', 'ipdeny', 'cpanelpro_images', 'indexmanager', 'modules_php_pear', 'modules_perl', 'modules_ruby', 'interchange', 'clock', 'lastvisits', 'cpanelpro_leechprotect', 'lists', 'mime', 'mysql', 'nettools', 'pgp', 'bbs', 'parkeddomains', 'password', 'phpmyadmin', 'phppgadmin', 'postgres', 'randhtml', 'rawlog', 'redirects', 'ror', 'ssh', 'sslinstall', 'sslmanager', 'searchsubmit', 'php_config', 'serverstatus', 'scgiwrap', 'simplezoneedit', 'guest', 'spamassassin', 'spambox', 'statmanager', 'subdomains', 'subdomainstats', 'cpanelpro_support', 'updatecontact', 'updatenotificationprefs', 'videotut', 'clamavconnector_scan', 'webdisk', 'webalizer', 'webmail', 'webprotect'); foreach ($checkBoxes as $key) { $data[$key] = isset($_POST[$key])?trim($_POST[$key]) : ''; } $query = "INSERT INTO product_features (" . implode(", ", $checkBoxes) . ") VALUES (" . implode("', '", $data) . ")"; and here is the result: Error: 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 '', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' at line 1 Quote Link to comment https://forums.phpfreaks.com/topic/195717-bloody-form/ Share on other sites More sharing options...
PFMaBiSmAd Posted March 18, 2010 Share Posted March 18, 2010 Echo $query so that you can see exactly what it contains. Quote Link to comment https://forums.phpfreaks.com/topic/195717-bloody-form/#findComment-1028228 Share on other sites More sharing options...
KevinM1 Posted March 18, 2010 Share Posted March 18, 2010 Try: $query = "INSERT INTO product_features (" . implode(', ', $checkBoxes) . ") VALUES (" . implode(', ', $data) . ")"; Or, even better, something like: $formBoxes = implode(', ', $checkboxes); $formData = implode(', ', $data); $query = "INSERT INTO product_features ($formBoxes) VALUES ($formData)"; Quote Link to comment https://forums.phpfreaks.com/topic/195717-bloody-form/#findComment-1028229 Share on other sites More sharing options...
herghost Posted March 18, 2010 Author Share Posted March 18, 2010 INSERT INTO product_features (name, changemx, traceaddy, addoncgi, addondomains, zoneedit, advguest, agora, analog, handlers, autoresponders, awstats, backup, backupwizard, bandwidth, boxtrapper, cgi, csvimport, setlang, style, chat, statselect, counter, cron, errpgs, defaultaddress, dirselector, diskusageviewer, popaccts, emailauth, emaildomainfwd, blockers, emailscripts, entropybanner, entropysearch, errlog, fantastico, Fantastico_De_Luxe, filemanager, forwarders, frontpage, ftpaccts, ftpsetup, getstart, hotlink, ipdeny, ipdeny, cpanelpro_images, indexmanager, modules_php_pear, modules_perl, modules_ruby, interchange, clock, lastvisits, cpanelproleechprotect, lists, mime, mysql, nettools, pgp, bbs, parkeddomains, password, phpmyadmin, phppgadmin, postgres, randhtml, rawlog, redirects, ror, ssh, sslinstall, sslmanager, searchsubmit, php_config, serverstatus, scgiwrap, simplezoneedit, guest, spamassassin, spambox, statmanager, subdomains, subdomainstats, cpanelpro_support, updatecontact, updatenotificationprefs, videotut, clamavconnector_scan, webdisk, webalizer, webmail, webprotect) VALUES (go', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1)Error: 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 '', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1' at line 1 To many 1's for me! Can you see the error? Quote Link to comment https://forums.phpfreaks.com/topic/195717-bloody-form/#findComment-1028235 Share on other sites More sharing options...
herghost Posted March 18, 2010 Author Share Posted March 18, 2010 Think I have worked out a problem at least, name is not an checkbox but a text box, does this matter in the array? Quote Link to comment https://forums.phpfreaks.com/topic/195717-bloody-form/#findComment-1028242 Share on other sites More sharing options...
herghost Posted March 18, 2010 Author Share Posted March 18, 2010 I now have the below: <?php session_start(); include('../../config/connect.php'); $name = (isset($_POST['name'])) ? trim($_POST['name']) : ''; $query0="INSERT INTO product_features (name) VALUES ('$name')"; if (!mysql_query($query0)) { die('Error: ' . mysql_error()); } else { echo $query0; $query1 =" SELECT id FROM product_features WHERE name = '$name'"; $result = mysql_query($query1); echo $result; while($row = mysql_fetch_array($result));{ $id = $row['id']; $_SESSION['id'] = $id; } $checkBoxes = array( 'changemx', 'traceaddy', 'addoncgi', 'addondomains', 'zoneedit', 'advguest', 'agora', 'analog', 'handlers', 'autoresponders', 'awstats', 'backup', 'backupwizard', 'bandwidth', 'boxtrapper', 'cgi', 'csvimport', 'setlang', 'style', 'chat', 'statselect', 'counter', 'cron', 'errpgs', 'defaultaddress', 'dirselector', 'diskusageviewer', 'popaccts', 'emailauth', 'emaildomainfwd', 'blockers', 'emailscripts', 'entropybanner', 'entropysearch', 'errlog', 'fantastico', 'Fantastico_De_Luxe', 'filemanager', 'forwarders', 'frontpage', 'ftpaccts', 'ftpsetup', 'getstart', 'hotlink', 'ipdeny', 'cpanelpro_images', 'indexmanager', 'modules_php_pear', 'modules_perl', 'modules_ruby', 'interchange', 'clock', 'lastvisits', 'cpanelproleechprotect', 'lists', 'mime', 'mysql', 'nettools', 'pgp', 'bbs', 'parkeddomains', 'password', 'phpmyadmin', 'phppgadmin', 'postgres', 'randhtml', 'rawlog', 'redirects', 'ror', 'ssh', 'sslinstall', 'sslmanager', 'searchsubmit', 'php_config', 'serverstatus', 'scgiwrap', 'simplezoneedit', 'guest', 'spamassassin', 'spambox', 'statmanager', 'subdomains', 'subdomainstats', 'cpanelpro_support', 'updatecontact', 'updatenotificationprefs', 'videotut', 'clamavconnector_scan', 'webdisk', 'webalizer', 'webmail', 'webprotect'); foreach ($checkBoxes as $key) { $data[$key] = isset($_POST[$key])?trim($_POST[$key]) : ''; } $formBoxes = implode(', ', $checkBoxes); $formData = implode(', ', $data); $id = $_SESSION['id']; $query = "INSERT INTO product_features WHERE id = '$id'($formBoxes) VALUES ($formData)"; echo $query; if (!mysql_query($query)) { die('Error: ' . mysql_error()); } else { $_SESSION['featureadd'] = 'featureadd'; header("Location: $adminbase/viewfeaturelist.php"); } } ?> But am still running into this error: INSERT INTO product_features (name) VALUES ('try')Resource id #5INSERT INTO product_features WHERE id = ''(changemx, traceaddy, addoncgi, addondomains, zoneedit, advguest, agora, analog, handlers, autoresponders, awstats, backup, backupwizard, bandwidth, boxtrapper, cgi, csvimport, setlang, style, chat, statselect, counter, cron, errpgs, defaultaddress, dirselector, diskusageviewer, popaccts, emailauth, emaildomainfwd, blockers, emailscripts, entropybanner, entropysearch, errlog, fantastico, Fantastico_De_Luxe, filemanager, forwarders, frontpage, ftpaccts, ftpsetup, getstart, hotlink, ipdeny, cpanelpro_images, indexmanager, modules_php_pear, modules_perl, modules_ruby, interchange, clock, lastvisits, cpanelproleechprotect, lists, mime, mysql, nettools, pgp, bbs, parkeddomains, password, phpmyadmin, phppgadmin, postgres, randhtml, rawlog, redirects, ror, ssh, sslinstall, sslmanager, searchsubmit, php_config, serverstatus, scgiwrap, simplezoneedit, guest, spamassassin, spambox, statmanager, subdomains, subdomainstats, cpanelpro_support, updatecontact, updatenotificationprefs, videotut, clamavconnector_scan, webdisk, webalizer, webmail, webprotect) VALUES (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)Error: 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 'WHERE id = ''(changemx, traceaddy, addoncgi, addondomains, zoneedit, advguest, a' at line 1 Quote Link to comment https://forums.phpfreaks.com/topic/195717-bloody-form/#findComment-1028252 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.