Comments (9)
What column type is "test"? The parser doesn't await an expression at this
point. Normally I use Oracle, so the statement is a little bit strange to me.
Original comment by [email protected]
on 12 Mar 2012 at 12:52
from php-sql-parser.
INSERT INTO test (`name`, `test`) VALUES ('\'Superman\'', ''), ('\'Superman\'',
'')
INSERT INTO table ( `col_1`, `col_2` )
VALUES ( 'val_for_col1', 'val_for_col2' ), -- This inserts a row
( 'val_for_col1', 'val_for_col2' ) -- This inserts another row
From http://dev.mysql.com/doc/refman/5.5/en/insert.html
INSERT statements that use VALUES syntax can insert multiple rows. To do this,
include multiple lists of column values, each enclosed within parentheses and
separated by commas. Example:
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
The values list for each row must be enclosed within parentheses. The following
statement is illegal because the number of values in the list does not match
the number of column names:
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3,4,5,6,7,8,9);
VALUE is a synonym for VALUES in this context. Neither implies anything about
the number of values lists, and either may be used whether there is a single
values list or multiple lists.
Original comment by [email protected]
on 12 Mar 2012 at 2:34
from php-sql-parser.
Ah, ok. Thanks. Try the version on
https://www.phosco.info/publicsvn/php-sql-parser/trunk REV 139. I have enhanced
the output, so your code could have problems with it.
Original comment by [email protected]
on 12 Mar 2012 at 2:42
from php-sql-parser.
Thanks for your quick feedback and continued efforts with this project. Just
tried REV 140 with no luck. Still can replicate the problem using the following.
<?php
require("php-sql-parser.php");
require("php-sql-creator.php");
error_reporting( E_ALL );
ini_set( 'display_errors', 1 );
$sql = "INSERT INTO test (`name`, `test`) VALUES ('\'Superman\'', ''),
('\'sdfsd\'', '')";
$parser = new PHPSQLParser($sql);
echo "<pre>";
print_r( new PHPSQLCreator( $parser->parsed ) );
Original comment by [email protected]
on 12 Mar 2012 at 3:11
from php-sql-parser.
Hm, I have added tests for the issue, which seems to be ok. Please check your
browser cache settings or checkout the version with a Subversion client.
If I execute your test script with the current version, I will get:
PHPSQLCreator Object
(
[created] => INSERT INTO test (`name`,`test`) VALUES ('\'Superman\'',''),('\'sdfsd\'','')
)
This is the same statement as provided in $sql (except some space characters).
Original comment by [email protected]
on 12 Mar 2012 at 8:05
from php-sql-parser.
Apologies, it was indeed my browser cache.
However, REV 141 now has
Fatal error: Multiple access type modifiers are not allowed in
C:\xampp\htdocs\php-sql-parser.php on line 1620
private private function process_record($unparsed) {
At least that one's an easy fix :D
Original comment by [email protected]
on 13 Mar 2012 at 9:29
from php-sql-parser.
Is the issue fixed with the current version (REV 186)?
Original comment by [email protected]
on 13 Mar 2012 at 12:05
- Changed state: Started
from php-sql-parser.
It is indeed. REV 186 does not present the multiple access type modifiers error.
Original comment by [email protected]
on 13 Mar 2012 at 12:12
from php-sql-parser.
:-)
Original comment by [email protected]
on 13 Mar 2012 at 12:15
- Changed state: Fixed
from php-sql-parser.
Related Issues (20)
- Support for expressions in ORDER BY clause HOT 1
- Unable to install using composer without svn binary HOT 4
- Use semantic versioning for tags/releases HOT 1
- Missing commas in reference builder HOT 4
- Upper case for AliasBuilder HOT 1
- Fails on comments HOT 3
- Creator can't handle SubQuery in Where clause HOT 2
- PHP Error when parsing SQL containing the REPLACE function HOT 6
- IFNULL(<Column Name>,<Value>) doesn't parsed properly HOT 1
- Can not calculate position of query exception HOT 8
- Position for CLAUSES HOT 8
- Unable to parse large complicated query (parenthesis problem)
- UNION Issues
- Fatal Error, undefined method HOT 1
- Alias for a function without parameters forgotten
- Parser throws uninitialized offsets warning when "REPLACE" MySQL function used in SELECT clause
- join with to_number in on clause HOT 1
- Keywords problem
- Problem with parser and datatables
- Export project to Github HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from php-sql-parser.