PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > php.general > Problem Getting MS SQL Data With Single Quotes
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Problem Getting MS SQL Data With Single Quotes

Réponse
 
LinkBack Outils de la discussion
Vieux 13/09/2007, 20h31   #1
Eddie
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Problem Getting MS SQL Data With Single Quotes

I'm having difficulty getting data out of MS SQL Server via a PHP
database call. When I look in the database, it crashes on the line
where there is a single quote in the database. I've seen several
articles about addslashes/stripslashes and str_replace for MS SQL.
Had the data been put in the right way, there would be no problem.
Or, if I had rights to use UPDATE/SET to modify all lines with single
quotes, again there would be no problem. The problem is there is no
way for me to change the data already stored in MS SQL. I can only
read it, and IT won't let me change it. (Gotta love corporate
America, but I digress). So now that the data is there, how can I
retrieve it when it has a single quote in the data? Am I missing
something? Please .

=====
Query sample:

$query1 = "SELECT * FROM table WHERE Name = '" .
addslashes($name) ."' ";
$result1 = db_query($query1, $DBLink) or die ('Error: Database
error !');
while ($row1 = db_fetch_assoc($result1)) {
echo ( ($k++ == 0) ? (stripslashes($row1['WCUSNO'])) :
("," . stripslashes_mssql($row1['WCUSNO'])) );
}

=====
Data sample (Name):

John Doe
John Q Public
Tom's Bait Shop <---- This is where it dies, due to the
apostrophe / single quote

Thanks for your .

Eddie

  Réponse avec citation
Vieux 14/09/2007, 00h32   #2
Ross McKay
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Problem Getting MS SQL Data With Single Quotes

On Thu, 13 Sep 2007 19:31:39 -0000, Eddie wrote:

> $query1 = "SELECT * FROM table WHERE Name = '" .
>addslashes($name) ."' ";


For MSSQL, you want to escape ' by putting '' like so:

str_replace("'", "''", $name)
--
Ross McKay, Toronto, NSW Australia
"Let the laddie play wi the knife - he'll learn"
- The Wee Book of Calvin
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 16h01.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,07288 seconds with 10 queries