Bug #12829: PHP parser gets confused
| From: | bart at usbmis dot com | Date: | Sat, 18 Aug 2001 22:32:56 +0000 |
| Subject: | Bug #12829: PHP parser gets confused | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-63639@lists.php.net to get a copy of this message | ||
From: bart@usbmis.com
Operating system: Linux
PHP version: 4.0.6
PHP Bug Type: Scripting Engine problem
Bug description: PHP parser gets confused
1 $sq = "SELECT * FROM TLinks WHERE LinkID = 1";
2 $result = mysql_query($sq)
3 or die ("Error- Could not run Query: $sq!\nError (" . mysql_errno() .
") - " . mysql_error());
4
5 if ($row = mysql_fetch_array($result))
6 {
7 $link = $row['Link'];
8 $origins = $row["Origins"];
9
10 $q = "UPDATE TLinks SET Origins = " . $origins + 1 . " WHERE LinkID =
1";
11 $r3 = mysql_query($q)
12 or die ("Error- Could not run Query: $q!\nError (" . mysql_errno() .
") - " . mysql_error());
13
14 }
The above lines cause the following error:
Error- Could not run Query: 1 WHERE LinkID = '01a_gennote'! Error (1064) -
You have an error in your SQL syntax near '1 WHERE LinkID = '01a_gennote''
at line 1
Please note that the error happends with reference to the SELECT query on
line 2.
SOLUTION
To solve the problem, I had to remove '+ 1' following the '$origins' on
line 10. The following code executes without any errors.
1 $sq = "SELECT * FROM TLinks WHERE LinkID = 1";
2 $result = mysql_query($sq)
3 or die ("Error- Could not run Query: $sq!\nError (" . mysql_errno() .
") - " . mysql_error());
4
5 if ($row = mysql_fetch_array($result))
6 {
7 $link = $row['Link'];
8 $origins = $row["Origins"];
9
10 $q = "UPDATE TLinks SET Origins = " . $origins . " WHERE LinkID = 1";
11 $r3 = mysql_query($q)
12 or die ("Error- Could not run Query: $q!\nError (" . mysql_errno() .
") - " . mysql_error());
13
14 }
--
Edit bug report at: http://bugs.php.net/?id=12829&edit=1