2015-07-23 2 views
3
insert into sent_message (user_id,subject,message,background_url,total_recipients,created_at) values ('115','Greeting','Hx z'xi','/images/default/1.jpg',2,'2015-07-23 10:48:41') 

Pour la colonne de message j'ai utilisé la valeur avec des guillemets simples donc j'ai obtenu l'erreur d'insertion ....comment insérer la valeur ayant des guillemets dans la base de données?

Et j'ai essayé de changer la requête comme ci-dessous, mais la sortie et l'erreur est la même. Ho pour le vaincre.

SET QUOTED_IDENTIFIER ON GO insert into sent_message (user_id,subject,message,background_url,total_recipients,created_at) values ('115','Greeting','Hx z'xi','/images/default/1.jpg',2,'2015-07-23 10:48:41') 
+1

'addslashes' peut aider ou échapper aux cordes. –

+0

Je veux même des guillemets simples à insérer dans la table. –

+1

pour utiliser * mysqli_real_escape_string() * est l'astuce – donald123

Répondre

3

Avez-vous essayé d'utiliser des instructions préparées? De cette façon, vous n'avez pas à vous soucier d'ajouter les guillemets dans la section des valeurs; vous utilisez plutôt des points d'interrogation en tant que placeholders.

Vous pouvez ensuite utiliser addslashes pour échapper les guillemets doubles/simples lorsque vous transmettez vos variables/chaînes à la méthode d'exécution.

Vous n'avez pas mentionné quelle base de données vous utilisez, donc je suppose que MySQL?

Voici le manuel PHP sur les instructions préparées:

http://php.net/manual/en/mysqli.quickstart.prepared-statements.php

0

Le caractère d'échappement pour guillemet simple (') est deux apostrophes (' '). Ainsi Exemple:

Insert into SomeTable(TextField) Select 'Some ''single quotes inserted''' 

donnera:

Select TextField from SomeTable 

Some 'single quotes inserted'