gpt4 book ai didi

php - 无法连接数据库,无法插入数据库

转载 作者:行者123 更新时间:2023-11-29 13:59:51 25 4
gpt4 key购买 nike

我在将电子邮件、密码和名称插入 mySQL 数据库时遇到问题。我准备了一个单独的类来连接我的数据库。但是当我将我的姓名、电子邮件和密码放入我的表单(这是在另一个 php 文件中)时,我的数据库中就没有任何内容。在这里你可以找到我的代码。我已经在数据库中尝试了插入语句并且有效。

<?php
include_once("classes/User.class.php");
include_once("Tweet.php");

class Db
{
private $m_sHost="localhost";
private $m_sUser="root";
private $m_sPassword="";
private $m_sDatabase="phples";
public $conn;

public function __construct() {
$this->conn=new mysqli($this->m_sHost,$this->m_sUser,$this->m_sPassword,$this->m_sDatabase);
if(isset($m_bVerzend)) {
if(!$conn->connect_errno) {
$sql = "INSERT INTO 'tbltweet' ('Name', 'Email', 'Password') VALUES ('$m_sName', '$m_sEmail', '$m_sPassword');";
$conn->query($sql);
}
}
}
}
?>

最佳答案

在构造函数中,您使用了许多未在函数范围内设置的变量:

    if(isset($m_bVerzend)){
if(!$conn->connect_errno)
{
$sql = "INSERT INTO 'tbltweet' ('Name', 'Email', 'Password') VALUES ('$m_sName', '$m_sEmail', '$m_sPassword');";
$conn->query($sql);}
}

所有变量,如 $m_bVerzend$m_sName 等都未定义。

php manual 中提供了有关变量作用域的更多信息。 .

顺便说一句,您还应该使用带有绑定(bind)变量的预准备语句,而不是在 sql 语句中转储变量,以防止 sql 注入(inject)问题。

关于php - 无法连接数据库,无法插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15254259/

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