2015-07-21 1 views
0

Voici mon code:Erreur avec qoutes dans MySQL requête

$result = mysql_query("INSERT INTO clients (client_id, name, surname, tel1,tel2,id_num,address) 
    VALUES ('" .$updating_id . "','" .$updatedName1 . "','" .$updatedName1 . "', '" .$updatedSurname1 
    . "', '" . $updatedTel1 . "', '" .$updatedTel2 . ", '" .$updatedId_num1. "', '" .$updatedAddress1. 
    ") ON DUPLICATE KEY UPDATE name='" . $updatedName1 . "', surname='" . $updatedSurname1 . "', 
    tel1='" . $updatedTel1 . "', tel2='" . $updatedTel2 . "', id_num='" . $updatedId_num1 . "', 
    address='" .$updatedAddress1 . "'"); 
    if(mysql_query($result)) 
    { echo $updatedName1," ", $updatedSurname1, " updated successfully "; 
    }       
    else { 
    echo mysql_error();} 
    } 

Je remarque que la première citation sur le mysql_query("INSERT INTO ... ferme avec la première citation du VALUES ('" .$updating_id . "' ... déclaration et pourtant la façon dont j'ai cité est celui de mes exemples, j'ai évalué.

+0

Qu'est-ce que l'erreur dire? – kristian

+0

N'utilisez plus l'API 'mysql_ *' obsolète. utilisez 'mysqli_ *' ou 'PDO' avec les instructions préparées. – Jens

+0

@kristian l'erreur est ' La requête était vide' –

Répondre

2

Utilisez if($result) au lieu de if(mysql_query($result)). thx @Vinie

Et vous manquez deux citations simples dans votre déclaration VALUES:

$updatedTel2 . "' 
$updatedAddress1."' 

Et vous devez jeter un oeil à mysql_real_escape_string(); ou du moins utiliser PDO :)

+0

merci beaucoup ce mysql_real_escape_string(); la fonction économise beaucoup de maux de tête –