- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道这段代码可以在我拥有的另一个网站上运行,但今天不起作用。我收到三个警告:
Warning: mysqli_stmt_bind_param() expects parameter 1 to be mysqli_stmt, boolean given in /homepages/14/d248783986/htdocs/subdomains/clients.bionic-comms.co.uk/httpdocs/carefree/process.php on line 33
Warning: mysqli_execute() expects parameter 1 to be mysqli_stmt, boolean given in /homepages/14/d248783986/htdocs/subdomains/clients.bionic-comms.co.uk/httpdocs/carefree/process.php on line 34
Warning: mysqli_stmt_affected_rows() expects parameter 1 to be mysqli_stmt, boolean given in /homepages/14/d248783986/htdocs/subdomains/clients.bionic-comms.co.uk/httpdocs/carefree/process.php on line 35
有人可以帮我解决这个问题吗?
如果这有帮助的话,我必须使用 htaccess 升级到 PHP5。
$connection = mysqli_connect($hostname, $username, $password, $dbname);
if (!$connection) {
die('Connect Error: ' . mysqli_connect_error());
}
$query = "INSERT INTO entries (name, dob, school, postcode, date) VALUES (?,?,?,?,?)";
$stmt1 = mysqli_prepare($connection, $query);
mysqli_stmt_bind_param($stmt1, 'sssss',$name,$dob,$school,$postcode,$date);
mysqli_execute($stmt1);
if(mysqli_stmt_affected_rows($stmt1) != 1)
die("issues");
mysqli_stmt_close($stmt1);
return "new";
编辑
经过一番调查后发现,prepare 语句不适用于 mysql4。我已经创建了一个新的 mysql5 数据库,但是当我尝试连接时出现此错误:
Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2005): Unknown MySQL server host 'localhost:/tmp/mysql5.sock' (1)
有人知道为什么会发生这种情况吗?
最佳答案
添加更多错误处理。
当连接失败时,mysqli_connect_error()可以告诉你更多细节。
当准备语句失败时mysqli_error()有有关该错误的更多信息。
执行语句失败时,询问mysqli_stmt_error() 。等等……
每当 mysqli 模块的函数/方法返回 false 来指示错误时,a)处理该错误并 b)决定继续是否有意义。例如。当连接失败时继续数据库操作是没有意义的。但是,当只有一次插入失败时,继续插入数据可能是有意义的(可能有意义,也可能没有)。
为了进行测试,您可以使用如下内容:
$connection = mysqli_connect(...);
if ( !$connection ) {
die( 'connect error: '.mysqli_connect_error() );
}
$query = "INSERT INTO entries (name, dob, school, postcode, date) VALUES (?,?,?,?,?)";
$stmt1 = mysqli_prepare($connection, $query);
if ( !$stmt1 ) {
die('mysqli error: '.mysqli_error($connection);
}
mysqli_stmt_bind_param($stmt1, 'sssss',$name,$dob,$school,$postcode,$date);
if ( !mysqli_execute($stmt1) ) {
die( 'stmt error: '.mysqli_stmt_error($stmt1) );
}
...
对于真实的生产环境,这种方法很费劲,很容易就死掉;-)
关于php - Mysqli 抛出 "Warning: mysqli_stmt_bind_param() expects parameter 1 to be mysqli_stmt, boolean given",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40056470/
我在尝试修改某些表时不断收到此错误。这是我的代码: /** = 1){ //$this->mysqli->autocommit(FALSE); //insert th
这是我的代码...它是关于使用 php mysqli 扩展 connect_errno) { die('Unable to connect to database'); } mysqli_se
这个问题已经有答案了: Catchable fatal error: Object of class mysqli_stmt could not be converted to string (2 个
我在向 MySQL 中插入数据时遇到问题。这是错误,我找不到解决方案。phpmyadmin 阵营和某些名称在 : PHPMYADMIN - 名称: 电子邮件 -> 电子邮件 密码 -> pass1 n
我正在使用 mysqli 类和准备好的语句在 PHP 中编写一个数据库处理程序类。我试图打印出结果。它并没有立即起作用,所以我决定进行一些调试。我尝试使用 mysqli_statement 类中的 n
我正在尝试将日期字段添加到源并保存到 PHP/MySQL 数据库。我正在使用 phpMyAdmin 并将“edate”字段设置为“DATE”类型。 我保存数据的 PHP 文件是: $statement
这是我的登录PHP代码 prepare($sql); $stmt->bind_param("s",$user_uid); $stmt->execute();
我很难理解如何正确使用bindParam(); 我一直在关注以下 URL 的详细信息:http://php.net/manual/en/pdo.prepared-statements.php其中的示例
这是我的代码: include 'conn.php'; $conn = new Connection(); $query = 'SELECT EmailVerified, Blocked FROM u
这个问题已经有答案了: warning :: invalid object or resource mysqli_stmt. What is the meaning and solution(s)?
我正在创建一个用户注册系统,当我开始修改数据库时出现错误“警告:mysqli_stmt::bind_param():类型定义字符串中的元素数量与第 41 行/opt/lampp/htdocs/Proj
这个问题已经有答案了: Call to undefined method mysqli_stmt::get_result (10 个回答) 已关闭 9 年前。 我正在将所有脚本更改为使用 mysqli
所以,我目前正在尝试为我的浏览器游戏创建一个登录表单,这需要多个查询才能正常工作。我首先开始使用 PHP 和 MySQL 进行查询的正常过程,但很快发现由于 SQL 注入(inject),这并不是最好
这是我的代码: include 'conn.php'; $conn = new Connection(); $query = 'SELECT EmailVerified, Blocked FROM u
这是我的代码: include 'conn.php'; $conn = new Connection(); $query = 'SELECT EmailVerified, Blocked FROM u
这个问题在这里已经有了答案: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in
这是我的代码: include 'conn.php'; $conn = new Connection(); $query = 'SELECT EmailVerified, Blocked FROM u
我试图将可变数量的参数传递给类的方法。这是我试图调用的类的函数: class DbHelper{ .... public function Execute($query, $params){
下面的代码抛出了神秘的警告。我不明白他们的意思。这些错误表明什么以及如何消除它们? require "conn.php"; $q = mysqli_stmt_init($dbconn); $query
我正在构建一个简单的留言板,需要从 3 个不同的表中获取信息来显示主要摘要页面。我正在使用 mysqli_stmt 协议(protocol),无法弄清楚如何获取每个讨论的第一条消息和作者姓名,因为所有
我是一名优秀的程序员,十分优秀!