我正在尝试制作网址缩短网站。但是,当我尝试单击提交输入时,我遇到此错误: 致命错误:在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>
答案 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);
注意:虽然理论上仍然可以连接,但您无法查询任何内容。这就是在开发测试期间错误检查很重要的地方。