
正文
为什么php改不了数据 php文件修改不生效
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
php 操作数据库的问题,打印的值显示都正常,就是更改不了?
建议在10行(sqlsrv_query)后面增加下面的语句:
if( $data === false ) {
echo $sql;
die( print_r( sqlsrv_errors(), true));
}
主要是查看SQL查询是否执行成功,另外也可以把echo $sql放在执行前,当需要修改的数据不存在(0条修改)的时候sqlsrv_query执行会成功。
相关问答
Q1: PHP修改数据库问题
你的错误主要在这里
$sql="UPDATE symbols SET country = '$_POST[country]',animal = '$_POST[animal]',cname='$_POST[cname_]' WHERE symbols.id=$_POST[id]";
当存在中文字符时,中文字符用''包围,而英文字符不用,否则会出错的。
像这种symbols.id,句号.只是用于表示指向的,如果是你在单个表中可以把表名省去,就用id就行,只有在多表查询中才需要指明某个字段属于哪个表单。
还有你下面的 $result=$mysqli-query(sql);sql前面应该加一个$。
下面是我改的代码,经过测试可以方便使用:
有个比较怪异的地方是,$_POST[cname_],它在POST表单中自动添加为cname_,这个是var_dump($_POST)测试的得到的结果,var_dump函数用于查看变量类型以及变量值的。还有后面把表单处改为
echo "form method='POST' action='{$_SERVER['PHP_SELF']}'";
actio指向自身,而且将其放在输出循环中,字符集也改为了UTF8,header头先输出声明,否则在IE以为的浏览器中会出现乱码
?php
header("Content-type: text/html;charset=UTF-8");
$host = "localhost";
$user = "root";
$pass = "";
$db = "phpdev";
$mysqli = new mysqli($host, $user, $pass, $db);
if (mysqli_connect_errno()) {
die("Unable to connect!");
}
$mysqli-query("SET NAMES 'utf8'");
if (isset($_POST['bthModify'])) {
$sql="UPDATE {$db}.symbols SET country = '$_POST[country]',animal = '$_POST[animal]',cname='$_POST[cname_]' WHERE symbols.id=$_POST[id]";
$result=$mysqli-query($sql);
// var_dump($sql);
if ($result) {
echo "修改成功";
}else {
echo "修改失败";
}
}
$query = "SELECT * FROM symbols";
if ($result = $mysqli-query($query)) {
if ($result-num_rows 0) {
echo "table cellpadding=10 border=1";
while($row = $result-fetch_array()) {
echo "form method='POST' action='{$_SERVER['PHP_SELF']}'";
echo "tr";
echo "tdinput name='id' type='text' id='id' value='$row[0]' //td";
echo "tdinput name='country' type='text' id='country' value='$row[1]' //td";
echo "tdinput name='animal' type='text' id='animal' value='$row[2]' //td";
echo "tdinput name='cname ' type='text' id='cname' value='$row[3]' //td";
echo "tdinput name='bthModify' type='submit' id='bthModify' value='修改' //td";
echo "/tr";
echo "/form";
}
echo "/table";
}
$result-close();
}
?
Q2: php编写修改用户信息程序时,数据库总是不能实现修改。
$userId是否有值,有没有报错?
$sql = "update `user` set `id`='".$userId."',`username`=".$username.",`password`=".$password.",`email`=".$email.",`idgroup`=".$idgroup." where id=".$userId."";
改成
$sql = "update `user` set `username`=".$username.",`password`=".$password.",`email`=".$email.",`idgroup`=".$idgroup." where id=".$userId."";
试试
Q3: PHP增删改查,修改失败为什么
估计是SQL语句有语法错误。
把SQL语句输出,在 phpMyAdmin里执行一下就清楚了。
echo "UPDATE ceshi SET name = '$name', time = '$time',price = '$price',text = '$text' WHERE Id = $x ";
Q4: php 修改表单数据为什么从上个页面id传不过来,还是获取不到,点修改 数据修改不了,看下代码
为什么php改不了数据你的页面提交是通过POST方式为什么php改不了数据,但你获取ID时却用了GET方式。
form action="adminmodifyok.php" method="post"
$newsid=$_GET['newsid']; //获取id
关于为什么php改不了数据和php文件修改不生效的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






