gpt4 book ai didi

php - 来自 php 类报告 0 的 mysql 错误报告

转载 作者:行者123 更新时间:2023-11-28 23:19:53 25 4
gpt4 key购买 nike

我正在尝试通过类中的函数连接到 MySql。同样可以更容易地完成,但这也是一种学习经验。代码都按预期工作,但是如果 MySql 查询失败,mysqli_error() 返回空白,mysqli_errno() 返回 0。我发现手动将数据输入 mysql 时出错,它是数据库中的一个太短的列,但是我不明白为什么 mysqli_error() 和 mysql_errno() 都没有报告错误。在此先感谢您的帮助。

<?php

class FrmAddProduct {

protected function getDbConnection(){
return new mysqli("localhost", "root", "****", "test");
}

/**
*all variables are declares and assigned here
*
**/
function commitSignUp (){
$commitSignUp = "INSERT INTO Login ( `logTitle`,`logFirstName`, `logLastName`,`logLandLine`,) VALUE (\"$this->title\", \"$this->firstName\",\"$this->lastName\", \"$this->landLine\",)";
if ($this->getDbConnection()->query($commitSignUp)){
echo "The new product is added.";
return 1;
} else {
echo "Mysql reported this error description: ".mysqli_error($this->getDbConnection()."<br>";
echo "Mysql reported this error number: ".mysqli_errno($this->getDbConnection());
return 0;
}

最佳答案

无论你在这里做什么都是完全错误的方法。您正在创建一个连接实例两次或三次。你期望错误被写在那里。

以这种方式更改您的代码。

protected function getDbConnection(){
return mysqli_connect("localhost", "root", "****", "test");
}

也这样做

function commitSignUp (){
$commitSignUp = "INSERT INTO
Login (
`logTitle`,
`logFirstName`,
`logLastName`,
`logLandLine`,
)
VALUE (
\"$this->title\",
\"$this->firstName\",
\"$this->lastName\",
\"$this->landLine\",
)";

$conn = $this->getDbConnection();

if ($conn->query($commitSignUp)) {
echo "The new product is added.";
return 1;
} else {
echo "Mysql reported this error description: ".mysqli_error($conn."<br>";
echo "Mysql reported this error number: ".mysqli_errno($conn);
return 0;
}

关于php - 来自 php 类报告 0 的 mysql 错误报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42198204/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com