Re: solved [message #186098 is a reply to message #186096] |
Fri, 13 June 2014 20:16 |
Tim Streater
Messages: 328 Registered: September 2010
Karma:
|
Senior Member |
|
|
In article <157nwayhe47ig(dot)1exa9x5yqxi59$(dot)dlg(at)40tude(dot)net>, richard
<noreply(at)example(dot)com> wrote:
> On Fri, 13 Jun 2014 15:01:53 -0400, Jerry Stuckle wrote:
>
>> On 6/13/2014 2:43 PM, richard wrote:
>>> On Fri, 13 Jun 2014 10:14:06 -0400, Jerry Stuckle wrote:
>>>
>>>> On 6/13/2014 9:57 AM, richard wrote:
>>>> > On Fri, 13 Jun 2014 00:57:10 -0400, richard wrote:
>>>> >
>>>> >> When attempting to transfer records from one table to another, certain
>>>> >> records refuse to be.
>>>> >> Such as those with words like "I'm".
>>>> >> What's even more confusing is, "It's" won't work, but "Cathy's" is ok?
>>>> >>
>>>> >> I know there is a procedure in PHP for dealing with this.
>>>> >> I just can't find it right now.
>>>> >> Can anyone help on this?
>>>> >
>>>> > $a=str_replace("'","\'",$a);
>>>> > Works just fine.
>>>> > Thanks for the reminder tim.
>>>> >
>>>>
>>>> That might work for sqllite, but it's definitely the WRONG way to do it
>>>> in MySQL.
>>>
>>> As you continously remind me, this is not an mysql issue.
>>> The table data could care less what characters are in it.
>>> mysqli doesn't give a shit either.
>>>
>>> if I code the data with a \ in the column cell, the output will show that
>>> \.
>>>
>>
>> One again you are WRONG! As evidenced by the failure of the insertions.
>>
>> And if you would have checked for errors (as you've been told many times
>> before), you would have found a MySQL error.
>>
>> I remind you if something is not a MySQL issue when it's not a MySQL
>> issue. However, you can't learn the difference between PHP and MySQL.
>>
>> Here's a hint: PHP doesn't care what's in a string. So if neither one
>> cares, why should the INSERT fail?
>
> Jerry, you are argumentative here just to be arguing.
> I did put in an error check.
> That confirmed that it was the single quotes causing the problem.
>
> What's going to happen when you say:
> insert into tabe VALUES('it's').
> PHP, not mysqli, kicks back an error right?
> PHP sees the third single quote as a mismatch.
> To correct this, you must include a \.
> Insert into table VALUES('it\'s') is now acceptable.
Can you post the exact PHP statement you were using?
See, if you were doing something like (I don't know the syntax exactly):
$dbh->mysqli ("insert into table VALUES('it's')");
then if you're using double-quotes (") to delimit the SQL string, PHP
won't care that you have three single quotes inside it. That's just
string data to PHP. What will happen is that mysqli will complain,
because what it gets passed is wrong SQL.
It would still be mysqli complaining if you did this:
$dbh->mysqli ("three coins in a fountain, said Fred");
--
"People don't buy Microsoft for quality, they buy it for compatibility
with what Bob in accounting bought last year. Trace it back - they buy
Microsoft because the IBM Selectric didn't suck much" - P Seebach, afc
|
|
|