passwd = hash("sha256", "*********"); $admin->email = "you@yo-6ren">
gpt4 book ai didi

php - 为什么我可以在 phpmyadmin 中运行查询,但不能在 PHP 中运行查询

转载 作者:行者123 更新时间:2023-11-29 22:01:29 26 4
gpt4 key购买 nike

我编写了一个如下所示的脚本:

<?php
$admin = new stdClass();
$admin->name = "admin";
$admin->passwd = hash("sha256", "*********");
$admin->email = "you@yourdomain.com";

$script = "
CREATE TABLE IF NOT EXISTS `users`
(
`id` INT(11) PRIMARY KEY AUTO_INCREMENT NOT NULL,
`username` VARCHAR(255) UNIQUE NOT NULL,
`passwd` VARCHAR(255) NOT NULL,
`email` VARCHAR(255) UNIQUE NOT NULL,
`user_level` VARCHAR(255) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

INSERT IGNORE INTO `users` (`username`, `passwd`, `email`, `user_level`)
VALUES ('{$admin->name}', '{$admin->passwd}', '{$admin->email}', 'admin');
";
print_r( $script );
print ("<br /><br /><br />");
$connect->multi_query($script) ? print "tr" : print "fa";
?>

当我在 phpmyadmin 中运行它时,它执行得很好,但是当从我的浏览器运行时,它根本不起作用,这里可能出了什么问题?

查询

    CREATE TABLE IF NOT EXISTS `users` 
(
`id` INT(11) PRIMARY KEY AUTO_INCREMENT NOT NULL,
`username` VARCHAR(255) UNIQUE NOT NULL,
`passwd` VARCHAR(255) NOT NULL,
`email` VARCHAR(255) UNIQUE NOT NULL,
`user_level` VARCHAR(255) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

INSERT IGNORE INTO `users` (`username`, `passwd`, `email`, `user_level`)
VALUES ('admin', 'password from hash', 'you@yourdomain.com', 'admin');

$connect 声明

$connect = new connect("localhost", "********", "********", "********");

connect 类的声明

<?php

class connect extends mysqli
{
public function __construct($host = null, $username = null, $passwd = null, $dbname = null)
{
$host = $host == null ? ini_get("mysqli.default_host") : $host;
$username = $username == null ? ini_get("mysqli.default_user") : $username;
$passwd = $passwd == null ? ini_get("mysqli.default_pw") : $passwd;
$dbname = $dbname == null ? "" : $dbname;
return $this->real_connect($host, $username, $passwd, $dbname);
}
}

?>

最佳答案

在调用 mysqli::real_connect 之前,您需要初始化 MySQLi 对象

因此,将 parent::init(); 添加到 connect 类构造函数中应该可以解决此问题。

关于php - 为什么我可以在 phpmyadmin 中运行查询,但不能在 PHP 中运行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32610779/

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