2011-09-16 12 views
1

PHPの開発マシンで開発中で、データベースに遠隔接続しています。ファイルをサーバーにアップロードし、オンラインでクエリが期待通りに機能しますが、localhostではクエリが機能しません。他のすべてのクエリが機能します!更新PHPによる検索結果のクリア

データベースに新しいレコードを挿入するコードブロックがあります(既に存在する場合は更新されています)。

コードは次のとおりです。

  $name = mysql_real_escape_string($_REQUEST['name']); 
      $title = mysql_real_escape_string($_REQUEST['title']); 
      $content = $_REQUEST['content']; 
    $lang_drop = mysql_real_escape_string($_REQUEST['lang']); 
      if($uid == 0) 
      { 
       $maxSort = tools::getInfo($table, Array(), Array('MAX(sort_order) as sort_order')); 
       $maxSort = $maxSort[0]['sort_order']+1; 
        $sql="insert into quemsomos (title,name,lang,sort_order) 
          values(
           '$title', 
           '$name', 
           '$lang_drop', 
           $maxSort 
          )"; 
         echo $sql; 
        mysql_query($sql); 
        $uid = mysql_insert_id(); 
      } 
      else{ 
$maxSort = $data['sort_order']; 
        $sql="update `quemsomos` set `title`='blabkalm', `name`='{$name}', `lang`='{$lang_drop}', `sort_order`=$maxSort where `uid`={$uid}"; 
        mysql_query($sql); 
        echo $sql; 
       } 

非常にシンプル...私は新しいレコードを挿入した場合、それは正常に動作して印刷$ SQL値は次のとおりです。

insert into quemsomos (title,name,lang,sort_order) values('title412', 'name421', 'pt', 3) 

問題は、私が更新したときということですクエリは実行されますが、ハードコードされた値のみがデータベースに格納されます。私は、ベローズの更新後に、DBのすべての値が空であることを示しています。sort_orderは保存され、タイトルは(ハードコードされているので...フィールドも空白になります)。更新ステートメントは、次の値を返します。

update `quemsomos` set `title`='blabkalm', `name`='name421', `lang`='pt', `sort_order`=3 where `uid`=2 

あなたはすべての値があると私は手動でこのクエリを実行する場合、すべてが正常にうまくいく...

は誰にもこのメイクセンスをい見ることができるように?

答えて

0

私はこの部分

`uid`={$uid}"; 

は大丈夫ではないと思います。

$sq='\''; 
$sql="update `quemsomos` set `title`='blabkalm', `name`=".$sq.$name.$sq.", `lang`=".$sq. 
$lang_drop.$sq.", `sort_order`=".$sq.$maxSort.$sq." where `uid`=".$sq.$uid.$sq." "; 

これは非常に確実です。

他の事... mysqlのエラーは、エラーが原因出力のデバッグに多くのことを助けることができる、それを使用することを忘れないでください:

mysql_query($sql) or die(mysql_error()); 
+0

こんにちは!返信いただきありがとうございます。私はそれを月曜日にしか試すことができません...私はそれを行う必要はありませんでしたが、今私はすべてを信じて;)私はあなたに戻ってきます!ありがとう – jribeiro

関連する問題