Php 如何使用'id'更新数据库?
我想用Php 如何使用'id'更新数据库?,php,mysql,Php,Mysql,我想用id更新我的数据库,我已经有了一个数据库,它的名字是 现在,当我使用WHERE college='1'更新我的数据库时,它工作成功,但当我使用id更新我的数据库时,它不工作,请帮助,我的数据库id=1,我正在为之工作 以下是我的源代码: <?php $con=mysqli_connect("localhost","root","Bhawanku","members"); // Check connection if (mysqli_connect_errno()) { ech
id
更新我的数据库,我已经有了一个数据库,它的名字是
现在,当我使用WHERE college='1'
更新我的数据库时,它工作成功,但当我使用id
更新我的数据库时,它不工作,请帮助,我的数据库id=1
,我正在为之工作
以下是我的源代码:
<?php
$con=mysqli_connect("localhost","root","Bhawanku","members");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM admin");
while($row = mysqli_fetch_array($result))
{
echo "(".$row['id'].") ".$row['first_name']." ".$row['last_name'];
}
mysqli_query($con,"UPDATE admin SET first_name='Rajendra', last_name='Arora'
WHERE id='$id'");
mysqli_close($con);
?>
id
是一个数字,而不是字符串。将其更改为:
mysqli_query($con,"UPDATE admin SET first_name='Rajendra', last_name='Arora' WHERE id=".$row['id']);
编辑
您的id
仅在循环中使用。尝试将其从while
更改为if
$result = mysqli_query($con,"SELECT * FROM admin limit 0, 1");
if ($row = mysqli_fetch_array($result)) {
mysqli_query($con,"UPDATE admin SET first_name='Rajendra', last_name='Arora' WHERE id=$row['id']");
}
使用而使用的任何其他方式都将更改表中的所有用户名。
如果此表中有多行,则需要另一种方法。尝试类似的方法,删除单引号
// Assign ID here
$id= 1;
mysqli_query($con,"UPDATE admin SET first_name='Rajendra', last_name='Arora' WHERE id='$id'");
$id
未在代码中设置,引用它将生成警告并运行以下查询:
UPDATE admin SET first_name='Rajendra', last_name='Arora' WHERE id=''
您需要在某处设置$id
还要注意SQL注入,这取决于该值来自何处,如果它来自用户输入,则需要将其转换为整数,如果它是字符串,则需要转义
如果它是一个整数,则不需要在其周围加引号(其中id=1
,而不是其中id='1'
)。首先应该设置您的id,其次您的id可能不是数据库中的字符串(varchar、char或text)。它应该是数字。在这种情况下,不要将id包装在“”中。只有字符串数据应包装在“”中 定义$id
,然后类似的东西应该可以工作:
if ($stmt = mysqli_prepare($conn, "UPDATE admin SET first_name='Rajendra', last_name='Arora' WHERE id=?")) {
mysqli_stmt_bind_param($stmt, "i", $id);
mysqli_stmt_execute($stmt);
}
如果$id
来自$\u GET
或$\u POST
变量,请确保不要将其直接嵌入查询中 $id
在哪里定义?您在哪里设置$id
变量?您必须在更新查询之前为$id赋值,因为您必须定义idso如何使$id
变量请帮助!!以同样的方式设置任何变量:$id=1
但我想通过使用$id
完成它。我正在为一个小项目工作,它将使用“$id”从数据库获取数据……我真的不明白-您的代码显示您回显了管理表中的每个条目,然后在此之后对一些未定义的$id运行更新。您想做什么?我尝试了您的代码,但它给出了一些提示此错误:Parse error:syntax error,意外的“”(T_ENCAPSED_和_空格),C:\xampp\htdocs\raj.php第11行的标识符(T_STRING)或变量(T_variable)或数字(T_NUM_STRING)应在引号外,如我的原始答案所示。