ID: 15673
Updated by: [EMAIL PROTECTED]
-Summary: Quotes crash MySQL queries: $array['val'] = Parse
Error, but $array[val] works
Reported By: [EMAIL PROTECTED]
Status: Analyzed
Bug Type: Arrays related
Operating System: Linux 2.4.5
PHP Version: 4.1.1
New Comment:
Hey man WOW, Im impressed, you have already replied!!!
Yes, this solution works:
$query = "SELECT * from {$table['users']}";
But shouldn't "Blah $table['users']" work as well?
Shouldn't PHP at least send a warning when using "$table[users]" even
if the other "$arr['foo']" syntaxes where wrong?
Thanks!
Previous Comments:
------------------------------------------------------------------------
[2002-02-22 07:17:21] [EMAIL PROTECTED]
Use the {$array['key']} syntax as I told you.
However, I can't remember if "foo $array['bar']" ever worked or not
right now. Someone else?
------------------------------------------------------------------------
[2002-02-22 07:12:54] [EMAIL PROTECTED]
It seems we cannot use the correct syntax $table['users'] inside the
two ""...
This will work:
$result = mysql_query("SELECT * from ".$table['users']);
This wont work:
$result = mysql_query("SELECT * from $table['users']");
This will, but should send a warning and it isnt:
$result = mysql_query("SELECT * from $table[users]");
The errors happens everywere I call any array with the '' or "" like
$table["something"] or $table['something'] inside ""s...
------------------------------------------------------------------------
[2002-02-22 07:06:12] [EMAIL PROTECTED]
Sorry: The error occurs when we define the $query:
$query = "SELECT * from $table[users]"; // => This causes the parse
error
echo "Table $table['users']" //=> Parse Error too
echo "Table".$table['users']; //=>OK
$query = "SELECT * from ".$table['users']; //=> OK TOO
------------------------------------------------------------------------
[2002-02-22 06:59:46] [EMAIL PROTECTED]
d
------------------------------------------------------------------------
[2002-02-22 06:55:12] [EMAIL PROTECTED]
Sounds very strange. Can you do a var_dump() on the sql string?
Can you also test and report back if it works with
"SELECT * from {$table['users']}"
?
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/15673
--
Edit this bug report at http://bugs.php.net/?id=15673&edit=1