php - 我的 PHP 页面出现 SQL 语法错误

标签 php mysql sql syntax insert

这是我在 php 中运行的 mysql 插入。我已经删除了给出错误的部分,但随后我在下一个部分出现了错误。我没有看到导致错误的不同之处。

$fields="adv_exchange SET synum='".$synum."', worknum='".$_POST['worknum']."', user_id='".$current_user->ID."', f_name='".$current_user->user_firstname."', l_name='".$current_user->user_lastname."', email='".$current_user->user_email."', regnum=".$_POST['regnum'].", item='".$item."', qsver='".$_POST['qsver']."', flashrom='".$_POST['flashrom']."',expansion='".$_POST['board']."', rdisplay='". $_POST['rdisplay']."', screen_model='".$_POST['screen_model']."', p_hardware='".$_POST['cable']."', pcolor='".$_POST['pcolor']."', pname='".$_POST['pname']."', kboard='".$_POST['kboard']."', ip='".$_POST['ip']."', reg_name='".$_POST['reg_name']."', mem=".$_POST['mem'].", dt_server='".$_POST['dt_server']."', alert='".$_POST['alert']."', ows='".$_POST['ows']."', w_date='".$_POST['w_date']."', flashromver='".$_POST['flashromver']."', s_size='".$_POST['s_size']."', mag='".$_POST['mag']."', rcard='".$_POST['rcard']."', kvsid=".$_POST['kvsid'].", finger='".$_POST['finger']."', stand_alone='".$_POST['stand_alone']."', standards='".$_POST['standards']."', profile='".$_POST['profile']."', man_date='".$_POST['man_date']."', l_sn='".$_POST['l_sn']."', misc='".$_POST['misc']."', problem='".$_POST['problem']."'";

然后 $query = "插入 $fields";

我收到了

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 ' item='JS900CV', qsver='', flashrom='',expansion='', rdisplay='', screen_model='' at line 1 Blockquote

如果我回显 $query 我得到这个:

insert into adv_exchange SET synum='SY5135', worknum='123456', user_id='2', f_name='REMOVED', l_name='REMOVED', email='REMOVED', regnum=, item='JS900CV', qsver='', flashrom='',expansion='', rdisplay='', screen_model='', p_hardware='', pcolor='', pname='', kboard='', ip='192.168.1.16', reg_name='', mem=, dt_server='', alert='', ows='', w_date='', flashromver='', s_size='', mag='', rcard='', kvsid=3, finger='', stand_alone='', standards='', profile='', man_date='', l_sn='', misc='misc test\r\n', problem='gen test'

根据我在错误中输入的内容,我的语句中的位置发生了变化。并非所有字段都被使用,提供数据的表单是动态的,因此字段取决于选择的选项。如果担心使用 $_POST 直接插入 mysql,请注意,我首先清理数组。任何帮助将不胜感激。

最佳答案

查看 regnum=,。您没有为 regnum 提供值。要么完全不使用它,要么将其设置为适当的值。

关于php - 我的 PHP 页面出现 SQL 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14046387/

相关文章:

javascript - cakephp 2.4 中的自动完成实现

mysql - 如何从我的谷歌应用程序引擎标准项目连接到远程 mysql?

php - 使用 PHP 和 MySQL 进行搜索过滤

php - ADOdb 给出 "Fatal error: Cannot pass parameter 2 by reference"

mysql - Sphinx 搜索,复合键

sql - MS SQL服务器: update with less amount of rows in source table

SQL - 使用标志与连接查询来获取相关记录

javascript - Laravel 多次插入到一张表中

isset() 函数的 PHP WordPress 问题

sql - Sybase运行时错误处理