将URL变量插入mysql数据库的PHP脚本?

时间:2009-05-06 01:05:19

标签: php mysql

我正在寻找一个简单而安全的脚本,可以从php脚本中将行插入到mysql表中。

致电http://www.myserver.com/addtosometable.php?1=asdf&2=asdf ....

我不是要问具体是什么,而是我认为这可能是构建示例脚本并使其与最新实践保持同步的良好平台......

干杯

2 个答案:

答案 0 :(得分:2)

所有URL变量(GET变量)都作为数组放入PHP变量$_GET

使用上面的示例myfile.php?1=asdf&2=asdf,您的脚本可以访问如下所示的数组:

array(
    1 => "asdf"
    2 => "asdf"
)

如果您想亲眼看到这个,只需将其放入您的文件中:

print_r($_GET);

从那里开始,应该是清理变量以避免注入攻击,然后创建INSERT语句。我需要更多地了解你的表结构以及具体的帮助你。请参阅mysql_real_escape_string上的文档。

答案 1 :(得分:0)

如果您使用的是MySQL 5,则可以使用预准备语句来避免大多数形式的SQL注入。


$stmt = $db->prepare("INSERT INTO table ( col1, col2 ) values ( ?, ? );
// check for errors 
$result = $stmt->execute( $_GET['1'], $_GET['2'] );
// check for errors

我相信您仍然需要担心XSS(跨站点脚本)攻击,但这超出了我的范围。