我尝试从表更新密码和电子邮件列,此处id是所选行的ID。< / p>
在失败时更新查询
require('dbconfig.php');
$id = $_GET['id'];
//echo "id is ",$id;
$sql1 = mysqli_query($con,"select * from login");
if(!$sql1)
{
echo "Query failed1";
}
else
{
$sql_num = mysqli_num_rows($sql1); // Returns No. of rows
echo "Rows are ",$sql_num;
while($row=mysqli_fetch_array($sql1))
{
//echo "Id in add is ",$id;
if($row['client_id']==$id)// selects the row whic is equal to the id of the session
{
echo $sq1;
echo "Name : ",$row['username'] . " " . "Password : ",$row['password'] . "<br>";
if($row['client_id']==$id){
$sql1_update = mysqli_query($con,"Update login Set password = '".$_POST['$password']."', email = '".$_POST['$email']."'"); // Throwing error Fatal error: Function name must be a string in...
echo "Successfully Inserted";*/
}
}
}
}
}
答案 0 :(得分:1)
请理解错误说明的内容并进行一些研究,但这次我会回答你。
将$_POST('$password')
替换为$_POST['password']
,将$_POST('$email')
替换为$_POST['email']
。 $_POST
数组; 不 a 功能。
另外,你不小心(我认为)注释了这个if statement
的开放大括号:
if ($sq1 ==1)
// {
最后,更新声明应为:
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
注意SQL UPDATE语句中的WHERE子句! WHERE子句指定应更新的记录或记录。如果省略WHERE子句,则所有记录都将更新!
答案 1 :(得分:1)
您不遵循 basic syntax of the UPDATE
,您必须更改在SQL社区中遵循的UPDATE代码。
更新语法:
UPDATE语句用于更新表中的现有记录:
UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value
请注意UPDATE语法中的WHERE子句: WHERE子句指定应更新的记录。如果省略WHERE子句,则所有记录都将更新!
但是,更新一个表时MySQL UPDATE语句的完整语法是:
UPDATE [ LOW_PRIORITY ] [ IGNORE ]
table
SET column1 = expression1,
column2 = expression2,
...
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]]
[LIMIT number_rows];
OR
使用MySQL中另一个表的数据更新一个表时,UPDATE语句的语法是:
UPDATE table1
SET column1 = (SELECT expression1
FROM table2
WHERE conditions)
[WHERE conditions];
OR
更新多个表时MySQL UPDATE语句的语法是:
UPDATE table1, table2, ...
SET column1 = expression1,
column2 = expression2,
...
WHERE table1.column = table2.column
AND conditions;
您的错误代码:
$sql1_update = mysqli_query($con,"Update login Set password = '".$_POST['$password']."', email = '".$_POST['$email']."'")
说明:此处您尚未提供id
,您必须在哪个字段ID中更新数据。
因此,您的代码应如下所示。
正确代码:
如果您需要在
$_REQUEST[]
的帮助下进行更新,则代码应如下所示。
<?php
$id = $_REQUEST['id'];
$sql1_update = mysqli_query($con,"UPDATE login SET password = '".$_POST['$password']."', email = '".$_POST['$email']."' WHERE `id`='".$id."'");
?>
完成上述所有检查后如果仍然失败,您可以在下面做笔记。
注意:将echo放到语句中,然后在那里退出操作。之后,您将看到查询到浏览器,然后复制该查询并放在SQL部分并在那里执行查询。如果您的所有操作都是正确的,则删除退出并回显,然后运行代码。
希望所以这个解释可能会明白你的理解目的。
快乐编码:)
答案 2 :(得分:0)
您的文件的任何部分是否已被弃用?如果是这样,每次都会抛出一个错误。不推荐的代码和更新的代码不会相互通信。我认为这很难。