【发布时间】:2014-09-18 03:25:20
【问题描述】:
来自 config.php
<?php
global $dbh;
$dbname = 'memberdb';
try {
$dbh = new PDO("mysql:host=localhost", "root", "");
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbname = "`".str_replace("`","``",$dbname)."`";
$dbh->query("CREATE DATABASE IF NOT EXISTS $dbname");
$dbh->query("use $dbname");
$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sql ="CREATE TABLE IF NOT EXISTS $member (
mem_id int(40) NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(40) NOT NULL,
password VARCHAR(40) NOT NULL);" ;
$dbh->exec($sql);
$stmt = $dbh->prepare("INSERT INTO member (username, password) VALUES (?,?)")or die($db->errorInfo());
$stmt->bindValue(1,"admin1",PDO::PARAM_STR);
$stmt->bindValue(2,"password1",PDO::PARAM_STR);
$stmt->execute();
$stmt->bindValue(1,"admin2",PDO::PARAM_STR);
$stmt->bindValue(2,"password2",PDO::PARAM_STR);
$stmt->execute();
$stmt->bindValue(1,"admin3",PDO::PARAM_STR);
$stmt->bindValue(2,"password3",PDO::PARAM_STR);
$stmt->execute();
} catch(PDOException $e) {
}
?>
这是我使用注册按钮注册用户时的新用户功能。 如何使这种功能只运行一个,当数据库创建时并且只运行。 我需要为每个输入设置定义的值,但我还没有更改它
UPDATE
当我重新加载 index.php 时,我使用的代码在我的概率之上仍然是相同的,查询再次运行,进行双重输入。我想要的是,当创建数据库时,查询将运行,当加载数据库时没有再次创建,所以我希望查询不再运行以避免重复输入。
【问题讨论】:
-
“只运行一次意味着在创建数据库时运行它” - 我没有看到数据库“创建”代码。这是数据库创建代码
CREATE DATABASE db_name -
编辑代码先生@Fred-ii-你说得对
-
这只是一个将新用户插入数据库的函数。通过“仅运行一次”,我假设您的意思是不创建重复项。在查询之前检查用户是否已经存在于数据库中,如果不创建,则不创建。
-
请重新定义您的问题。