2012-03-21 7 views
0

Facebookのアプリケーションのサインアップフォームのようなものですが、INSERTの代わりにUPDATE私はすでにpg_query():クエリに失敗しました:ERROR:xが存在しませんLINE 2:SET name = x

$inserP = "INSERT INTO particular (id, name) 
VALUES ($userid, 0)"; 
pg_query($conn, $inserP); 

を挿入していると私は、ユーザー名のトムとフォームを送信した後に、このエラーに遭遇:ここ

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> 
ですここ

は私pg_pconnectと間違って何も私が間違っていたとどのようにこのエラーを修正する場所...誰かが教えてもらえますが、絶対にありません私の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);} 

のですか?私はPHPとSQLの両方に新しいです...ありがとう!!

答えて

1

決して、文字列の連結や補間でSQL文を作成しないでください。バインドパラメータ(PDOまたは少なくともpg_query_params)を使用してください。

1

文字列の値を引用符で囲む必要があります。そうでない場合は、それが列だと思われます。 SET名= 'tom' WHERE id = 'someid'

0

nameはテキストフィールドです。テキストフィールドに挿入する場合は、値の周りに一重引用符を使用する必要があります。'tom'

関連する問題