我想用 PHP 编写一个脚本,以字符串形式获取“MySQL 创建表”查询,并将列名及其数据类型存储在数组中。
例如:
输入字符串:
CREATE TABLE `test` (
`col1` INT( 10 ) NOT NULL ,
`col2` VARCHAR( 50 ) NOT NULL ,
`col3` DATE NOT NULL
) ENGINE = MYISAM ;
output:
array(
array( 'name'=>'col1', 'type'=>'INT', 'size'=>'10' ),
array( 'name'=>'col2', 'type'=>'VARCHAR', 'size'=>'50' ),
array( 'name'=>'col3', 'type'=>'DATE', 'size'=>'' )
);
我没有数据库访问权限来直接执行查询。有没有任何 PHP 库可以解决这个问题或者有什么想法吗?
Thanks
使用 preg_match_all
preg_match_all("/`(.+)` (\w+)\(? ?(\d*) ?\)?/", $sql, $_matches, PREG_SET_ORDER);
这将生成一个像这样的数组
array(
array('`col1` INT( 10 )', 'col1', 'INT', '10'),
array('`col2` VARCHAR( 50 )', 'col2', 'VARCHAR', '50'),
array('`col3` DATE ', 'col3', 'DATE', '')
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)