-1

私はこの機能を持っています

function update_job($title, $type, $salary, $country,
                    $city, $state, $category,$date,
                    $description, $responsabilities,
                    $requirements, $id_job ) {

  $HOST_DB ="localhost";
  $NAME_DB="jobs";
  $USER_DB ="root";
  $PWD_DB="";

  $connect = mysql_connect($HOST_DB, $USER_DB, $PWD_DB);
  $db=mysql_select_db($NAME_DB);    

  $requete_insert_tem = "UPDATE employment  SET title = $title , type = $type , salary = $salary , country = $country , city = $city , state = $state , category = $category , date = $date , description = $description , responsabilities = $responsabilities ,
                requirements = $requirements where id = $id_job ";
  mysql_query($requete_insert_tem)
    or die(mysql_error());    
}

しかし、「Syntax error near 'street , category = informatique , date = 01/07/2013 , description = nothing' 」というエラーが表示されます

  1. なぜこのエラーが発生するのですか?
  2. それを修正する方法は?
4

2 に答える 2

1

文字列を一重引用符で囲む必要があります。以下では、すべての列が何らかの文字列型であると想定しています。また、関数は公式に非推奨になっているため、mysql_関数の使用をすぐに停止する必要があります。赤いボックスが見えますか? 代わりにプリペアド ステートメントについて学び、 PDOまたはMySQLiを使用してください

$requete_insert_tem = "UPDATE employment SET title = '$title' , type = '$type' , salary = '$salary' , country = '$country' , city = '$city' , state = '$state' , category = '$category' , date = '$date' , description = '$description' , responsabilities = '$responsabilities' , requirements = '$requirements' where id = '$id_job'";
于 2013-01-02T20:04:23.460 に答える
1

I guess the problem is because of you didn't use single quotations in set clause for non-numeric values.
try this one:

$requete_insert_tem  ="UPDATE employment  SET title = '$title' , type = '$type' , salary = '$salary' , country = '$country' , city = '$city' , state = '$state' , category = '$category' , date = '$date' , description = '$description' , responsabilities = '$responsabilities' ,
                requirements = '$requirements' where id = $id_job ";

you may also want to check your variable values to remove possible single quotations or use addslashes function to make the query safe.

于 2013-01-02T20:09:52.230 に答える