这是我的代码
if (empty($_POST['username']) || empty($_POST['password'])) {
$response["success"] = 0;
$response["message"] = "Please Enter Both a Username and Password.";
die(json_encode($response));
}
$query = " SELECT 1 FROM users WHERE username = :user";
$query_params = array(
':user' => $_POST['username']
); //////////////////////////////////////////////////////////////////////////////////////////////////////////ERROR////////////////////////////////////////////////////////
try {
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch (PDOException $ex) {
$response["success"] = 0;
$response["message"] = "Database Error1. Please Try Again!";
die(json_encode($response));
}
$row = $stmt->fetch();
if ($row) {
$response["success"] = 0;
$response["message"] = "I'm sorry, this username is already in use";
die(json_encode($response));
}
$query = "INSERT INTO users ( username, password ) VALUES ( :user, :pass ) ";
$query_params = array(
':user' => $_POST['username'],
':pass' => $_POST['password']
);
try {
$stmt = $db->prepare($query);
$result = $stmt->execute($query_params);
}
catch (PDOException $ex) {
$response["success"] = 0;
$response["message"] = "Database Error2. Please Try Again!";
die(json_encode($response));
}
$response["success"] = 1;
$response["message"] = "Username Successfully Added!";
echo json_encode($response);
} else { ?> <h1>Register</h1> <form action="register.php" method="post">
Username:<br />
<input type="text" name="username" value="" />
<br /><br />
Password:<br />
<input type="password" name="password" value="" />
<br /><br />
<input type="submit" value="Register New User" /> </form> <?php }
?&GT;
我已将该行标记为错误。这是错误。我安装了wamp服务器,这是我跟随mybringback的教程的链接,然后查看register.php v.02
这是config.php的内容
<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
* Front controller for config view / download and clear
*
* @package PhpMyAdmin-Setup
*/
/**
* Core libraries.
*/
require './lib/common.inc.php';
require_once './libraries/config/Form.class.php';
require_once './libraries/config/FormDisplay.class.php';
require_once './setup/lib/ConfigGenerator.class.php';
require './libraries/config/setup.forms.php';
$form_display = new FormDisplay();
$form_display->registerForm('_config.php', $forms['_config.php']);
$form_display->save('_config.php');
$config_file_path = ConfigFile::getInstance()->getFilePath();
if (isset($_POST['eol'])) {
$_SESSION['eol'] = ($_POST['eol'] == 'unix') ? 'unix' : 'win';
}
if (PMA_ifSetOr($_POST['submit_clear'], '')) {
//
// Clear current config and return to main page
//
ConfigFile::getInstance()->resetConfigData();
// drop post data
header('HTTP/1.1 303 See Other');
header('Location: index.php');
exit;
} elseif (PMA_ifSetOr($_POST['submit_download'], '')) {
//
// Output generated config file
//
PMA_downloadHeader('config.inc.php', 'text/plain');
echo ConfigGenerator::getConfigFile();
exit;
} elseif (PMA_ifSetOr($_POST['submit_save'], '')) {
//
// Save generated config file on the server
//
file_put_contents($config_file_path, ConfigGenerator::getConfigFile());
header('HTTP/1.1 303 See Other');
header('Location: index.php?action_done=config_saved');
exit;
} elseif (PMA_ifSetOr($_POST['submit_load'], '')) {
//
// Load config file from the server
//
$cfg = array();
include_once $config_file_path;
ConfigFile::getInstance()->setConfigData($cfg);
header('HTTP/1.1 303 See Other');
header('Location: index.php');
exit;
} elseif (PMA_ifSetOr($_POST['submit_delete'], '')) {
//
// Delete config file on the server
//
@unlink($config_file_path);
header('HTTP/1.1 303 See Other');
header('Location: index.php');
exit;
} else {
//
// Show generated config file in a <textarea>
//
header('HTTP/1.1 303 See Other');
header('Location: index.php?page=config');
exit;
}
?>
答案 0 :(得分:3)
$stmt = $db->prepare($query);
您正在创建一个语句,但您没有首先创建PDO对象$db
。无处可见。它必须按此顺序
$db = new PDO($dsn, $user, $password);
$stmt = $db->prepare($query);
来自PHP.net的示例代码,可帮助您解释如何创建PDO
对象
<?php
$dsn = 'mysql:dbname=testdb;host=127.0.0.1'; //replace 'dbname' with your database name
$user = 'dbuser'; // whats your database username?
$password = 'dbpass'; // database password?
try {
$dbh = new PDO($dsn, $user, $password);
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
?>