【发布时间】:2014-12-19 13:59:35
【问题描述】:
你好,想用php构建一个注册和彩票应用程序 我想在用户注册时在我的奖品表中创建一个用户 ID,并且我想在用户买票时添加到我的 buy_count...
所以我有 2 张桌子:
prize , users
prize : users_id , buy_count
users : fn , ln , pass...usual staff
这是用户注册表格的脚本:
$sql = 'INSERT INTO users (id,fn,ls,psw) VALUES (:id,:fn,:ln,:psw);
INSERT INTO prize (user_id, buy_count) VALUES (LAST_INSERT_ID(), 4)';
脚本给我一个错误,它有什么问题?我想在用户注册时在奖品表中添加用户 ID,我的查询有什么问题? 这样做的正确方法是什么?
更新:
所以现在这是我的代码:
<?php
try {
require_once 'inc/connect.php';
$sql =("
INSERT INTO users (fn,ls,psw) VALUES (:fn,:ln,:psw);
INSERT INTO prize (user_id) VALUES (LAST_INSERT_ID());
");
$form = $_POST;
$fn = $form['fn'];
$ln = $form['ln'];
$psw = $form['psw'];
$values = array(
':fn' => $fn ,
':ln' => $ln ,
':psw' => $psw
);
$stmt = $db->prepare($sql);
$stmt->execute($values);
if ( $stmt ){
echo "<p>Thank you. You have been registered</p>";
} else {
echo "<p>Sorry, there has been a problem inserting your details. Please contact admin.</p>";
}
$errorInfo = $db->errorInfo();
if (isset($errorInfo[2])){
$error = $errorInfo[2];
}
} catch (Exception $e) {
$error = $e->getMessage();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Database Connection with PDO</title>
<link href="../../styles/styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<h1>Connecting with PDO</h1>
<?php if(isset($error)) {
echo "<p>$error</p>";
}else {
?>
<?php
if ( empty( $_POST ) ) {
?>
<h1>Registration</h1>
<form name="" action="" method="POST">
<label for 'username'>Username: </label>
<input type="text" name="fn"/>
<label for 'password'>Password: </label>
<input type="password" name="psw"/>
<label for 'first_name'>First name: </label>
<input type="text" name="fn"/>
<br/>
<button type="submit">Submit</button>
</form>
<?php
} else {
print_r( $_POST );
}
?>
<?php } //error ?>
</body>
</html>
仍然没有做我想做的事......没有将任何数据添加到表和 AI users_id 最后我 有人可以帮忙吗?
【问题讨论】:
-
它们是两个独立的语句。也许你应该单独执行它们。
-
尝试运行两个查询但使用不同的变量?因此,将查询 :) 从二合一 var 拆分为每个 var 一个,并一次执行一个
-
请提供错误。
-
LAST_INSERT_ID() MySQL 的可能重复项
-
伙计们:我知道它们是 2 个单独的查询,我只是复制了它,我想知道如何执行这两个查询并使其与一个提交一起工作 + 我想知道这是我的查询做得对吗?