我一直在处理类似facebook应用程序的注册表单,但不是INSERT它UPDATE因为在此之前我已经INSERT
$inserP = "INSERT INTO particular (id, name)
VALUES ($userid, 0)";
pg_query($conn, $inserP);
我在使用用户名tom:
提交表单后遇到此错误pg_query(): Query failed: ERROR: column "tom" does not exist LINE 2: SET name=tom
这是我的表格
<form action="update.php" method="post">
<input type="text" name="username" id="username" autocomplete="off" />
<input type="image" name="confirm" src="/images/confirm.png"/>
</form>
这是我的update.php
require('conn.php');
require('getfacebookapi.php');
$userid = idx($facebook->api('/me/'), 'id', string);
$username=$_POST['username'];
$pszz = "UPDATE particular
SET name=$username
WHERE id=$userid";
if(preg_match("/^[a-zA-Z]+$/", $username)) {
pg_query($conn, $pszz);}
我的pg_pconnect绝对没有问题。有人可以告诉我哪里出错了以及如何解决这个错误?我是php和sql的新手......谢谢!!
答案 0 :(得分:1)
您需要在字符串值周围加上引号,否则会认为它是一列。 SET name ='tom' WHERE id ='someid'
答案 1 :(得分:1)
从不,永远不要通过字符串连接或插值来编写SQL语句。使用绑定参数(PDO或至少pg_query_params
)。
答案 2 :(得分:0)
name
是一个文本字段;插入文本字段需要围绕值'tom'