注册时创建用户名表

时间:2014-06-02 06:36:21

标签: php mysql sql

大家好,我正在努力让这个项目在内部网站上工作,并希望让用户出于各种原因拥有自己的桌子,如果你能帮助解决为什么这样做不会很好。

$sql="insert into users(username,password) values('".$_REQUEST['username']."', '".$_REQUEST['password']."')";

$sql2 = "CREATE TABLE '".$_REQUEST['username']."'
         (
         ID INT NOT NULL AUTO_INCREMENT, 
         PRIMARY KEY(ID),
         workorder CHAR(15),
         waybill  CHAR(15),
         shipper CHAR(15),
         partname CHAR(15),
         rnumber CHAR(15)
         )";

$res=mysql_query($sql,$sql2);

1 个答案:

答案 0 :(得分:0)

首先:不推荐使用PHP中的MYSQL扩展!请检查此链接:http://php.net/manual/en/faq.databases.php#faq.databases.mysql.deprecated

这是另一个帮助您选择正确的扩展程序:http://hu1.php.net/manual/en/mysqlinfo.api.choosing.php

您的代码中存在错误:

$res=mysql_query($sql,$sql2);

mysql_query()函数的第二个参数是一个字符串(在你的代码中),但该函数需要一个mysql连接(资源)。

您必须使用单独的mysql_query()调用运行查询:

$res1=mysql_query($sql, $mysqlLink);
$res2=mysql_query($sql2, $mysqlLink);

来自manual

mixed mysql_query ( string $query [, resource $link_identifier = NULL ] )

注1 :避免使用字符串连接构建查询而不进行任何转义!您的代码容易受到SQL injection的攻击!使用prepared statements(或至少escaping)来解决此问题!

注意2 :永远不要以明文形式存储密码!