我非常需要有关mysqli_error()的故障排除的帮助

时间:2018-06-27 23:19:45

标签: php mysql

我刚加入堆栈溢出,非常需要您的帮助。我住在坦桑尼亚的东非,很难从程序员那里获得任何故障排除帮助。我是一个自学的Web开发人员,目前正在自学php和mysql。

我当前正在使用一本过时的电子书,其中该书中编写的代码使用了已弃用的mysql_函数。我已经在计算机上安装了php7,因此必须使用经过改进和更新的mysqli_函数才能使代码正常工作。在我尝试使用最适合php7的更新代码的过程中,我发现有一个错误,我无法进行故障排除和修复。

问题是由于我试图通过浏览器中的html表单进行SQL查询而出现的,但是我一直遇到错误,因此我非常感谢任何人的帮助。

我编写的代码如下:

$con = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME)
or die("<p>Error connecting to database: " .mysqli_error() . "</p>");

echo "<p>Connected to MySQL!</p>";

mysqli_select_db($con, DB_NAME)
or die("<p>Error selecting the database " .DB_NAME . mysqli_error(). "</p>");

echo "<p>Connected to MySQL, using database " .DB_NAME . ".</p>";

$query_text = $_REQUEST['query'];
$result = mysqli_query($query_text);

if (!$result) {
die("<p>Error in executing the SQL query " . $query_text . ": " .mysqli_error() . "</p>");
}

echo "<p>Results from your query:</p>";

echo "<ul>";

while ($row = mysqli_fetch_row($result)) {
echo "<li>{$row[0]}</li>";
}

echo "</ul>";

当我在文本编辑器中编写此代码时,我能够在浏览器上成功打印出表格列表,但是当我尝试通过浏览器上的html表单发送查询时,出现以下错误:

警告:mysqli_error()期望恰好1个参数,第8行的C:\ xampp \ htdocs \ run_query.php中给出的参数为0。

我试图通过html表单发送的查询是:SHOW TABLES;但我不断收到上述警告。

任何帮助我们解决此问题的帮助将受到高度赞赏

1 个答案:

答案 0 :(得分:0)

mysqli_error()需要一个参数。因此必须是:

mysqli_error($con)

另外,当使用mysqli_query()时,它需要两个参数。因此必须是:

mysqli_query($con, $query_text)

还要确保阅读有关SQL注入here的内容。该脚本可以进行SQL注入。