如何从PHP文件正确更新MySQL数据?
我想用PHP更新数据库中的一个字段。我写了这段代码,效果很好。如何从PHP文件正确更新MySQL数据?,php,mysql,sql,sql-update,Php,Mysql,Sql,Sql Update,我想用PHP更新数据库中的一个字段。我写了这段代码,效果很好。var2的值为0,更新后其值为1。 我想将字段var2用作PHP变量,因此可以将其用作if条件。 如果值为0,则使用if条件更新var2,如果var2的值为1,则重定向到其他php文件 <?php session_start(); $con=mysql_connect("localhost","root",""); mysql_select_db("database",$con); $sql = "SET SQL_MODE =
var2
的值为0,更新后其值为1。
我想将字段var2
用作PHP变量,因此可以将其用作if条件。
如果值为0
,则使用if条件更新var2
,如果var2
的值为1
,则重定向到其他php文件
<?php
session_start();
$con=mysql_connect("localhost","root","");
mysql_select_db("database",$con);
$sql = "SET SQL_MODE = ''";
mysql_query($sql,$con);
$sql = "UPDATE table SET var2=1 WHERE var1 = '".$_SESSION['user']."'";
if (){}
mysql_query($sql,$con);
if(mysql_error() != ""){
echo $sql." ".mysql_error();
}
mysql_close($con);
?>
但这对我不起作用,我在第10行收到了下一条消息“Parse error:syntax error,C:\xampp\htdocs\egresadoslunes\finalizar.php中意外的t_变量”您不能将变量放在字符串文字之后。您应该使用
操作符显式地连接它:
$sql = "UPDATE table SET " . $abc . "=1 WHERE var1 = '".$_SESSION['user']."'";
或者将其内联到字符串中:
$sql = "UPDATE table SET ${abc}=1 WHERE var1 = '".$_SESSION['user']."'";
强制性评论:使用这种字符串操作技术会使代码容易受到sql注入攻击。你应该考虑使用它。< P>检查行是否受影响。
$sql = "UPDATE table SET var2=1 WHERE var2=0 and var1 = '".$_SESSION['user']."'";
$result=(mysql_query);
if( mssql_rows_affected($result) > 0){
//var 2 == 0
}
else{
//var 2 != 0
}
首先是你。它们不再得到维护,而是在使用。而是学习,并使用。您正在尝试在实际编写查询之前执行查询。你有一个空的
if
语句。你用if(){}
做什么?检查你的引用方法,加上它应该做什么和如果(){}
什么都不做;删除它。这假定$abc
不是保留字或恶意内容。它确实需要根据已知的好列名白名单,并可能用反勾转义。
$sql = "UPDATE table SET var2=1 WHERE var2=0 and var1 = '".$_SESSION['user']."'";
$result=(mysql_query);
if( mssql_rows_affected($result) > 0){
//var 2 == 0
}
else{
//var 2 != 0
}