Re: [RFC] Binary String Comparison
| From: | Michael Wallner | Date: | Wed, 20 Aug 2014 10:46:11 +0000 |
| Subject: | Re: [RFC] Binary String Comparison | ||
| References: | 1 2 3 4 5 6 7 8 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-76729@lists.php.net to get a copy of this message | ||
On 20/08/14 11:12, Marc Bennewitz wrote:>
>
> On 18.08.2014 17:43, Johannes Schlüter wrote:
>> On Mon, 2014-08-18 at 17:30 +0200, Johannes Schlüter wrote:
>>> foreach ($db->query("SELECT id, title FROM entries") as $row) {
>>> echo "<tr><td";
>>> if ($row[0] == $_GET['highlight_id']) {
>>> echo " background='#ff0000'";
>>> }
>>> echo ">".htmlentities($row[1])."</td></tr>";
>>> }
>>>
>>> will suddenly fail. How wonderful! (irony)
>>
>> Just to make this more fun: Assume $db is PDO then the behavior will
>> depend on the driver (and for some drivers even at the configuration,
>> i.e. setting of PDO::ATTR_EMULATE_PREPARES with MySQL) what will happen.
>
> I don't understand exactly what you mean here. This RFC has nothing todo
> with DB layer and PDO.
>
> Do you have any example where a DB returns integers differently?
php -r '$p = new PDO("mysql:user=root"); \
$s=$p->prepare("SELECT 1"); $s->execute(); \
var_dump($s->fetchAll()); \
$p->setAttribute(PDO::ATTR_EMULATE_PREPARES,false); \
$s=$p->prepare("SELECT 1"); $s->execute(); \
var_dump($s->fetchAll());'
array(1) {
[0]=>
array(2) {
[1]=>
string(1) "1"
[2]=>
string(1) "1"
}
}
array(1) {
[0]=>
array(2) {
[1]=>
int(1)
[2]=>
int(1)
}
}
--
Regards,
Mike