Php PDO MYSQL更新不工作

Php PDO MYSQL更新不工作,php,mysql,pdo,Php,Mysql,Pdo,我在获取正确的sql查询以更新用户配置文件时遇到问题。我使用(基本上)相同的查询来插入数据,它工作正常(只是在执行数组中没有WHERE id=clientid,也没有clientid)。下面的查询不会更新数据库中的任何数据 我测试并确保所有的变量都被发布了,而且它们都被发布了。作为旁注,这个查询对sql注入安全吗 $conn = new PDO("mysql:host=$DB_HOST;dbname=$DB_DATABASE",$DB_USER,$DB_PASSWORD); // Deal w

我在获取正确的sql查询以更新用户配置文件时遇到问题。我使用(基本上)相同的查询来插入数据,它工作正常(只是在执行数组中没有WHERE id=clientid,也没有clientid)。下面的查询不会更新数据库中的任何数据

我测试并确保所有的变量都被发布了,而且它们都被发布了。作为旁注,这个查询对sql注入安全吗

$conn = new PDO("mysql:host=$DB_HOST;dbname=$DB_DATABASE",$DB_USER,$DB_PASSWORD);

// Deal with the POST variables here...(excluded)

$sql = "UPDATE clients (firstname, lastname, origincountry, dob, gender, email, phone, address, postal, city, province, referred, notes)
        VALUES (:firstname, :lastname, :origincountry, :dob, :gender, :email, :phone, :address, :postal, :city, :province, :referred, :notes)
        WHERE id = :clientid" ;

$q = $conn->prepare($sql);

$q->execute(array(':firstname'=>$firstname,
                  ':lastname'=>$lastname,
                  ':origincountry'=>$origincountry,
                  ':dob'=>$dob,
                  ':gender'=>$gender,
                  ':email'=>$email,
                  ':phone'=>$phone,
                  ':address'=>$address,
                  ':postal'=>$postal,
                  ':city'=>$city,
                  ':province'=>$province,
                  ':referred'=>$referred,
                  ':notes'=>$notes,
                  ':clientid'=>$clientid));
您的SQL无效。请参阅。(感谢@rambocoder指出这一点)

使用以下SQL:

updateclients SET firstname=:firstname,lastname=:lastname,origincountry=:origincountry,dob=:dob,gender=:gender,email=:email,phone=:phone,address=:address,postal=:postal,city=:city,province=:province,refered=:referereded,notes=:notes
其中id=:clientid

此操作是否输出任何错误?请尝试放置
错误报告(全部)
在代码顶部。@ShaquinTrifonoff我添加了它,但它仍然没有显示任何错误它与
beginTransaction
commit
一起工作吗?这是无效的sql。谷歌如何进行更新。我认为@rambocoder是正确的。我认为我所需要做的只是将INSERT改为update。但我需要使用update和SET。谢谢你的快速。我刚刚输入了新的查询,这时我看到它已经在这里完成了!谢谢!我使用了正则表达式,这就是为什么:-)非常快速和肮脏。还是要编辑一下。查找:
(.*),
,替换:
$1=:$1,
->感谢您在此处提及正则表达式。以前从未使用过。花了几个小时来学习regex,但现在我正在使用这个新工具快速浏览notepad++中的代码:)@mcflause我也使用notepad++。其中我使用最多的是NppFTP。