2011-01-02 27 views
1

データベースの一部の値を更新しようとしています。クエリを実行した後、データベースの値が更新されず、空白の値に置き換えられます。MySQLクエリの後、行に空白の値が表示される

これは私のPHPコードです:

$sql = 'UPDATE ' . $tbl_name . ' SET `Name` = \'' . $name .'\', `Store` = \'apples\', `URL` = \'apples\', `SKU` = \'apples\', `Price` = \'apples\', `Location` = \'apples\' WHERE CONVERT(`crisss1205_me_com`.`ID` USING utf8) = \'1\' LIMIT 1;'; 

、それはすべてのエラーを返しません。変数$名は、私がecho $sql;を使用してクエリをプリントアウトした場合、それはこのようになります$ _POST

から来ている:

UPDATE crisss1205_me_comのSET Name = 'HelloWorldの'、Store = 'りんご'、 URL = 'リンゴ'、SKU = 'リンゴ'、Price = 'リンゴ'、Location = 'リンゴ' CONVERT(crisss1205_me_comID UTF8を用いた。)= '1' LIMIT 1。

"名前"列のデータベースでは、空白が表示されます。

クエリをそのままにして、$name = $_POST['name'];$name = "HelloWorld";に変更すると、データベースが正常に更新されます。

「POST」から表示されない理由は何ですか?


<?php 

$tbl_name = $_COOKIE['e-mail_ctt']; 
require_once('../config.php'); 

    $name = (string)$_POST['name']; 
    $store = $_POST['store']; 
    $url = $_POST['url']; 
    $sku = $_POST['sku']; 
    $price = $_POST['price']; 
    $location = $_POST['location']; 

    $demo = "app"; 

$sql = "UPDATE " . $tbl_name . " SET Name='" . $name . "', Store='" . $store . "', URL='" . $url . "', SKU='" . $sku . "', Price='" . $price . "', Location='" . $location . $demo . "' WHERE ID='1';"; 
echo $sql; 
mysql_query($sql) or die(mysql_error()); 

exit ; 

?> 

ブラウザのソースコード:

UPDATE crisss1205_me_com SET Name='Mac', Store='mac', URL='mac', SKU='mac', Price='mac', Location='Online Store Onlyapp' WHERE ID='1'; 

データベース:

alt text

+0

は、echoed sqlとまったく同じコピー/貼り付け出力ですか?それは '文字が不足しているようです。奇妙なことがここで起こっている。 – dqhendricks

+0

これは、\ '文字が表示されないというのは少し奇妙です。良いキャッチ@dqhendricks。 @Christan、mysqlまたはmysqliの後にその文字列がエコーされていますか? '$ sql =' ... '行の直後ですか? – RobertB

+0

これは私のブラウザからの正確なコピーです。 –

答えて

0

フォームで投稿欄にごname属性は単にスペルが間違っている可能性があります。 $_POSTのコンテンツをダンプして、期待どおりの内容が含まれているかどうかを確認し、HTMLを再確認してください。

0

POSTメソッドを使用しているときに問題があるようです。フォームを変更してGETを使用し、$ _GETまたは$ _REQUESTを使用するようにPHPを変更すると、正常に動作します。 POSTを使用したいと思いますが、AJAXを使用してフォームの詳細を送信しています。セキュリティは問題ではありません。私はちょっとしたことが起こっていることがわかるまで、今のところ回避策としてGETしなければならないでしょう。

+0

あなたのフォームhtmlを表示しますか? – dqhendricks

関連する問題