我的问题是我只想选择唯一的ID,然后将数据插入到另一个表中。因此我要插入table1
,并选择table2
。例如,例如,我登录到John并且插入的值为6000,所以当我再次登录时,肯定是其他用户,不应显示6000
所以我在表1中插入了这个
================
id | name | value
----------------
1 | John | 6000
=================
我在表2中有
====================
id | user_id | value
1 | 1 | 6000
====================
user_id
是表1上的约翰
因此,如何使它仅只查询,所以当我登录ID时,它具有插入的值,而当我登录另一个用户时,不应显示所选的值。
我的代码
$dsn = 'mysql:host='. $host . ';dbname=' . $dbname;
$pdo = new PDO($dsn, $user, $password);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$stmt1 = $pdo->query('SELECT * FROM accept');
$addInfo=$_POST['addInfo'];
$passInfo=$_POST['passInfo'];
$row = $stmt1->fetch(PDO::FETCH_ASSOC);
$stmt1 = $pdo->prepare("insert accept set accept_info=:addInfo ,pass_id=:passInfo");
$stmt1->bindparam(':addInfo', $addInfo);
$stmt1->bindparam(':passInfo', $passInfo);
if($stmt1->execute())
{
$res="Data Inserted Successfully:";
echo json_encode($res);
}
else {
$error="Not Inserted,Some Problem occur.";
echo json_encode($error);
}
我的输入
<input type="hidden" id="passenger_announcement" value="<?php echo $row['value'] ?>" />
<input type="hidden" id="passenger_id" value="<?php echo $row['user_id'] ?>" />
答案 0 :(得分:0)
我认为您的主要问题是
所以如何使它仅查询,所以当我登录ID时,它具有插入的值,而当我登录另一个用户时,所选的值不应显示。对吗?
我认为您需要的是查询中PHP Session
和WHERE
子句的组合
STEP 1
登录到应用程序时,将用户的ID分配给会话,例如:
session_start()
//create a session variable and pass the user's ID to it
$_SESSION['user_id'] = $row['id']
第2步
您有查询
$stmt1 = $pdo->query('SELECT * FROM accept');
将其更改为
$stmt1 = $pdo->query('SELECT * FROM accept WHERE id ='.$_SESSION['user_id']);
因此您只能从accept
表中获取仅属于 LOGGED IN 用户