Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL语法错误[PHP | MYSQL]_Php_Mysql_Session_Syntax - Fatal编程技术网

SQL语法错误[PHP | MYSQL]

SQL语法错误[PHP | MYSQL],php,mysql,session,syntax,Php,Mysql,Session,Syntax,我今天想为我的网站做一个公开的简介,但我有一个问题 我输入了所有信息,但当我按submit时,我得到: 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第3行“WHERE id=1”附近要使用的正确语法 代码: // contact to database /// connection is OK //Get data in local variable $v_name=$_POST['name']; $v_age=$_POST['age']; $v_job=$_POS

我今天想为我的网站做一个公开的简介,但我有一个问题

我输入了所有信息,但当我按submit时,我得到:

您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第3行“WHERE id=1”附近要使用的正确语法

代码:

 // contact to database

/// connection is OK 

//Get data in local variable
$v_name=$_POST['name'];
$v_age=$_POST['age'];
$v_job=$_POST['job'];
$v_interes=$_POST['interes'];
$v_hobbies=$_POST['hobbies'];
$v_family=$_POST['family'];
$v_pub_mail=$_POST['pub_mail'];
$v_profimg=$_POST['profimg'];
$v_about=$_POST['about'];

// check for null values
if ($v_name==""  /*or $v_msg==""*/)
echo "All fields must be entered, hit back button and re-enter information";
else{
$query="insert into user(name,pub_mail,age,job,interes,hobbies,family,about) values ('$v_name','$v_age','$v_job','$v_interes','$v_hobbies','$v_family','$v_pub_mail','$v_profimg','$v_about') WHERE id='$usrid'";
mysql_query($query)  or die(mysql_error());
echo "Your profile was updated .";
}

不应将
WHERE
子句与
INSERT
一起使用

$query="insert into user(name,pub_mail,age,job,interes,hobbies,family,about) values ('$v_name','$v_age','$v_job','$v_interes','$v_hobbies','$v_family','$v_pub_mail','$v_profimg','$v_about');
我认为您希望进行更新而不是插入…


(顺便说一下,您的插入/更新不安全,请不要忘记使用
addslashes

INSERT
没有
WHERE
子句。如果需要更新现有记录,则应使用
update

谈论注射风险。尝试在插入输入之前清除输入。。或者更好的是,使用PDO准备的语句。在旁注中,您将在八列中插入九个值。你可能想检查一下。其中一个字段出了问题。我会重新检查并尝试修复它!谢谢你的帮助。如果我不使用where,那么他怎么能将数据插入到我想要的配置文件中?@GerculyRobert没有“插入到你想要的配置文件”这样的事情。您的想法是通过
INSERT
ing
$usrid
插入
id
来实现的,这是
INSERT
语句的一部分。@GerculyRobert稍等片刻。您的表单看起来像是用于向数据库添加条目,而不是更改现有条目。确保
UPDATE
ing一个已经存在的条目确实是您想要的,而不仅仅是输入一个具有现有id的新条目。感谢您的关注,但我正在用这个脚本等待一段时间。我将开始学习php和PDO。我的流量交换脚本很旧,我想我需要更新它。