我有一个在我的网站上与一些用户创建的数据库,并希望在我的网站上有一个文本框,让我可以提交一个完整的SQL查询我的数据库的形式。
在使用PHP时,这是可能的吗?我认为这在ASP.net中是可能的,但我对那门语言有点不熟悉。
示例:
在我的页面run_sql.php上,我想要一个带有提交按钮的文本框。
在文本框中,我希望能够运行命令,例如
INSERT INTO `userdata`(`UserID`, `FirstName`, `LastName`, `Email`, `PF_Username`, `PF_Password`, `Endpoint`) VALUES ([value-1],[value-2],[value-3],[value-4],[value-5],[value-6],[value-7])并让它将声明的值写入我的表。
sql.php代码仅供参考:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Run SQL - TEST</title>
</head>
<table border="0" cellpadding="10">
<tr>
<td>
<img src="images/api_rat.png">
</td>
<td>
<h1>TEST</h1>
</td>
</tr>
</table>
<body>
<form action="sql.php" method="GET">
<textarea name="comments" cols="25" rows="5">Enter your SQL query here...</textarea><br>
<input type="submit" value="Run Query on LIVE DB" />
</form>
</body>
</html>这个是可能的吗?提前感谢您的帮助!:)
发布于 2013-01-05 02:22:23
当然,建立一个连接,然后做一个mysql_query($_GET‘’comments‘);
但是你知道,如果这个脚本可以从网上访问,你就会有一个非常非常大的问题?:-)
发布于 2013-01-05 02:25:56
这是可能的,但这是一个非常糟糕的想法。如果有人在DROP TABLE myreallyimportanttable中输入
不过,如果您想这样做,只需将文本框输入捕获为字符串,并将其提供给mysql连接即可;
$sql = $_GET['comments'])
$dbconn = @mysql_pconnect("$dbhost:$dbport", $dbuser, $dbpassword);
return @mysql_query ($sql, $dbconn);享受SQL注入攻击带来的乐趣!
发布于 2013-01-05 08:47:05
尝尝这个
<?php
$sql = $_GET["comments"];
$result = mysql_query($sql);
if($result){
//if it works show this
}else{
//if it doesnt work show this
}
?>如果不起作用,请告诉我。
https://stackoverflow.com/questions/14162659
复制相似问题