我正在尝试更新数据库中的表。这是我到目前为止的代码:
$query =
"UPDATE user
SET name='$name', pword='$pword', email='$email', address='$address', city='$city', state='$state', zip='$zip'
WHERE uname ='" . $_SESSION['uname'] . "'";
我的页面呈现正确,但表格永远不会使用新数据进行更新。我认为这是因为代码无法计算我们这个参数的整个$ _SESSION部分。有什么想法吗?
我正在尝试添加此代码以填充此处的$ _SESSION ['uname']部分......
$uname = $_SESSION["sname"]["uname"];
我正在试图弄清楚sname来自哪里......
答案 0 :(得分:0)
这有很多问题。它一开始就非常容易受到SQL注入的攻击。</ p>
但是它没有更新你的表的原因是$query
只是一个字符串。您不会在任何地方显示MySQL,MySQLi或PDO连接,也不会显示您正在连接上执行语句。
根据您上面的评论,问题是$_SESSION['uname']
是空字符串或未定义。您的问题不在此查询中;它位于代码的其他部分。
答案 1 :(得分:0)
<?php
$link = mysqli_connect("myhost","myuser","mypassw","mybd") or die("Error " . mysqli_error($link));
$query = "SELECT uname FROM mytable WHERE somecondition LIMIT 1" or die("Error " . mysqli_error($link));
$result = $link->query($query);
while($row = mysqli_fecth_assoc($result)) {
$user=$row["uname"] ;
}
$_SESSION['uname']=$user;
?>
这是一些基本的php,用于将用户从DB转换为SESSION
,使其适应您的数据库。别忘了session_start
。