各位热心大侠们帮看下内问中的这段PHP代码,问题就在于foreach中的那句SQL语句写不进数据库?
PS:foreach外面一条一条的update没一点问题<?phpincludedirname(__FILE__).'/global.php';$con=mysql_co...
PS:foreach外面一条一条的update没一点问题
<?php
include dirname(__FILE__) . '/global.php';
$con = mysql_connect('localhost','root','');
mysql_query("SET NAMES 'GBK'");
$db= mysql_select_db('news',$con);
$query=mysql_query("SELECT * FROM `config`");
while ($row=mysql_fetch_array($query)){
$row_array[$row[name]]=$row[values];
}
print_r($_POST);
if (isset($_POST['update'])){
unset($_POST['update']);
foreach ($_POST as $name=>$values){
$sql="UPDATE `config` SET `values`=$values WHERE `name`=$name";
if (mysql_query($sql,$con)){
echo "成功";
}
else {
echo "No";}
}
}
?>
<html>
<form action="" method="post">
网站名称:<input type="text" name="websitename" value="<?php echo $row_array[websitename];?>" size="20" maxlength="40"/> <br>
网站网址:<input type="text" name="websiteurl" value="<?php echo $row_array[websiteurl];?>" size="20" maxlength="40"/> <br>
网站关键字:<input type="text" name="websitekeyword" value="<?php echo $row_array[websitekeyword];?>" size="20" maxlength="40"/> <br>
网站说明:<input type="text" name="websitekeytext" value="<?php echo $row_array[websitekeytext];?>" size="20" maxlength="40"/> <br>
<input type="submit" name="update" value="更新 "/> <br>
</form>
</HTML>
表名,字段名都是从数据库直接copy过来的。 展开
<?php
include dirname(__FILE__) . '/global.php';
$con = mysql_connect('localhost','root','');
mysql_query("SET NAMES 'GBK'");
$db= mysql_select_db('news',$con);
$query=mysql_query("SELECT * FROM `config`");
while ($row=mysql_fetch_array($query)){
$row_array[$row[name]]=$row[values];
}
print_r($_POST);
if (isset($_POST['update'])){
unset($_POST['update']);
foreach ($_POST as $name=>$values){
$sql="UPDATE `config` SET `values`=$values WHERE `name`=$name";
if (mysql_query($sql,$con)){
echo "成功";
}
else {
echo "No";}
}
}
?>
<html>
<form action="" method="post">
网站名称:<input type="text" name="websitename" value="<?php echo $row_array[websitename];?>" size="20" maxlength="40"/> <br>
网站网址:<input type="text" name="websiteurl" value="<?php echo $row_array[websiteurl];?>" size="20" maxlength="40"/> <br>
网站关键字:<input type="text" name="websitekeyword" value="<?php echo $row_array[websitekeyword];?>" size="20" maxlength="40"/> <br>
网站说明:<input type="text" name="websitekeytext" value="<?php echo $row_array[websitekeytext];?>" size="20" maxlength="40"/> <br>
<input type="submit" name="update" value="更新 "/> <br>
</form>
</HTML>
表名,字段名都是从数据库直接copy过来的。 展开
3个回答
展开全部
foreach ($_POST as $name=>$values){
$sql="UPDATE `config` SET `values`=$values WHERE `name`=$name";
if (mysql_query($sql,$con)){
echo "成功";
}
else {
echo "No";}
}
我觉得还是你update语句有问题,你的values和name在数据表中是什么类型的,要是字符型的,你的update语句就有问题了 $sql="UPDATE `config` SET `values`='".$values."' WHERE `name`='" . $name . "';
$sql="UPDATE `config` SET `values`=$values WHERE `name`=$name";
if (mysql_query($sql,$con)){
echo "成功";
}
else {
echo "No";}
}
我觉得还是你update语句有问题,你的values和name在数据表中是什么类型的,要是字符型的,你的update语句就有问题了 $sql="UPDATE `config` SET `values`='".$values."' WHERE `name`='" . $name . "';
展开全部
一眼就能看出if(!isset($_POST['updata']))是个逻辑错误还有几处是不是错误我不敢确定
(!isset($_POST['updata'])){
unset($_POST['updata'])
.........
}这里是end if(!($_POST['updata']))
?> php 结束符 能看出来吗 post['data']为空才执行updata 能行吗
(!isset($_POST['updata'])){
unset($_POST['updata'])
.........
}这里是end if(!($_POST['updata']))
?> php 结束符 能看出来吗 post['data']为空才执行updata 能行吗
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sql语句中select *from 表。为什么你的表名加了引号呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询