致命错误:在C:\ xampp \ htdocs \ index.php

时间:2017-09-22 23:49:45

标签: php bindparam

我正在尝试制作网址缩短网站。但是,当我尝试单击提交输入时,我遇到此错误: 致命错误:在C:\ xampp \ htdocs \ index.php 中调用boolean上的成员函数bind_param()。 我见过其他人遇到此问题,但从未设法解决此问题。 提前谢谢!

<?php

$db = new mysqli("localhost","root","");

if (isset($_POST['shorten'])) {
//echo "Clicked";
$result = $db->prepare("INSERT INTO links VALUES('',?,'test')");
$result->bind_param('s', $_POST['url_to_shorten']);
$result->execute();
echo "Done.";
}

?>
<!doctype html>
<html>
<head>
<title>Orix.ml - free link shortener</title>
</head>
<body>
<center>
<h1>ORIX.ML</h1>
<h2>FREE USB SHORTENING SERVICE</h2>
<form action="/" method="POST">
<input type="text" name="url_to_shorten" value="" placeholder="PASTE YOUR LINK HERE">
<input type="submit" name="shorten" value="GO">
</form>
</center>
</body>
</html>

1 个答案:

答案 0 :(得分:2)

正如我在评论中所说,你没有选择数据库。

根据要求:

这一行:

$db = new mysqli("localhost","root","");

应该读作:

$db = new mysqli("localhost","root","", "database");

并将“database”替换为您的数据库名称。

可以在PHP.net上的以下地址找到该文档:

从手册中提取的示例以及错误检查:

<?php
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");

if (!$link) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

echo "Success: A proper connection to MySQL was made! The my_db database is great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;

mysqli_close($link);

注意:虽然理论上仍然可以连接,但您无法查询任何内容。这就是在开发测试期间错误检查很重要的地方。