使用PHP发布整个mySQL命令

时间:2013-11-22 02:46:51

标签: php mysql

我正在尝试创建自己的查询表单,以便我可以在数据库中创建表,更新数据,选择数据等。我有一个文件test.php,其中我将在textarea中键入我的命令。它会将我的查询发送到submitquery.php,其中包含以下内容:

<?php
$con=mysqli_connect("host","user","pass","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$result = mysqli_query($con,"$_POST['myquery']");


mysqli_close($con);
?> 

这是我在test.php中的代码:

<form action="submitquery.php" method="post">
<textarea name="myquery" id="myquery"></textarea>
<input type="submit" name="submit" value="Submit">
</form>

但是当我提交时,我得到“解析错误:语法错误,意外T_ENCAPSED_AND_WHITESPACE,期望第9行/public_html/admin/submitquery.php中的T_STRING或T_VARIABLE或T_NUM_STRING”

我对PHP不太好,我是一个非常基础的初学者。谁能告诉我我做错了什么?谢谢!

2 个答案:

答案 0 :(得分:0)

这样做..

<?php
$query=$_POST['myquery'];
$result = mysqli_query($con,$query);
mysqli_close($con);
?>

嗯..来你的例子..如果我输入DROP TABLE yourtablename;怎么办?您将丢失所有表格信息。

您需要检查SQL注入...强烈建议在PDO上使用 Prepared Statements ,而不是这样做。

答案 1 :(得分:0)

尝试下面或删除“”

$sql = $_POST['myquery'];
$result = mysqli_query($con,$sql);