gpt4 book ai didi

php - 我的 php 代码有问题,我需要为我的数据库划分函数

转载 作者:行者123 更新时间:2023-11-29 07:05:50 24 4
gpt4 key购买 nike

我尝试划分函数来创建表并连接到数据库,但是创建表的 php 函数对我不起作用,有谁知道如何解决这个问题?我附上 php 代码和索引。

prova.php:

class db_mysqls
{
public function connect()
{
$username="username";
$password="password";
try
{
$connection = new PDO("mysql:host=localhost;dbname=ijdb",$username, $password);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo ' <br> Connection Complete';
}
catch (PDOException $e)
{
echo 'Connection failed: ' . $e->getMessage();
}
}

public function createDB()
{
try
{
$sql="CREATE TABLE joke (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
joketext TEXT,
jokedate DATE NOT NULL)";
// use exec() because no results are returned
$connection->exec($sql);
echo "Table MyGuests created successfully";
}
catch (PDOException $e)
{
echo 'Creation failed: ' . $e->getMessage();
}
}
}
?>

index.php:

<html>
<head>
<title>Index.html</title>
</head>
<body>
Eseguo prova.php <br>
<?php
include 'prova.php';
$db = new db_mysqls();
echo 'New Database Object Created';
$db->connect();
$db->createDB();
?>
</body>
</html>

最佳答案

问题是变量范围。您的所有变量都是本地的。您需要创建一个私有(private)类成员来存储连接对象,以便两种方法都可以访问相同的连接。

<?php
class db_mysqls
{
private $connection;

public function connect()
{
$username="username";
$password="password";
try
{
$this->connection = new PDO("mysql:host=localhost;dbname=ijdb",$username, $password);
$this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo ' <br> Connection Complete';
}
catch (PDOException $e)
{
echo 'Connection failed: ' . $e->getMessage();
}
}

public function createDB()
{
try
{
$sql="CREATE TABLE joke (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
joketext TEXT,
jokedate DATE NOT NULL)";
// use exec() because no results are returned
$this->connection->exec($sql);
echo "Table MyGuests created successfully";
}
catch (PDOException $e)
{
echo 'Creation failed: ' . $e->getMessage();
}
}
}
?>

关于php - 我的 php 代码有问题,我需要为我的数据库划分函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41745188/

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