из 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, запрос запускается снова, делая двойную запись … я хочу, чтобы при создании базы данных запрос выполнялся, а при загрузке база данных не создавалась снова, поэтому я хочу, чтобы запрос не запускался снова, чтобы избежать двойной записи.
$stmt = $dbh->prepare("SELECT * FROM member") ;
$stmt->execute();
$count = $stmt -> rowCount();
echo $count;
if( $count == 00 ){
$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();
}
У меня есть только еще один вопрос, почему иногда эхо для счетчика равно 3, а иногда его 33, как будто запрос выполняется дважды, пожалуйста, уберите это … это сработало, но, возможно, просто может быть здесь неправильная логика, пожалуйста, не стесняйтесь редактировать чтобы сделать его идеальным.
Других решений пока нет …