Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\APMServ-v5.2.6\APMServ5.2.6\www\htdocs\0135\update_material.php on line 13
一下是修改页面的代码:
<?php
include("conn.php");
$ID=$_GET['ID'];
$sql = mysql_query("select * from tbl_material where ID=$ID" ); //此处为第13行
$info = mysql_fetch_array($sql);
?>
这个是上一个页面点击修改或删除后就跳到修改页面了一下是代码:
<td align="center" height="28px"><a href="update_material.php" ID=<?php echo $info[ID] ;?>>修改</a><a href="del_material.php?ID=<?php echo $info[ID] ;?>">删除</a></td>
再下面是执行修改数据库的代码了:
<?php
include("conn.php");
$mtSN=htmlspecialchars($_POST['mtSN']); //获取材质编码
$mtName=htmlspecialchars($_POST['mtName']); //获取材质名称
$mtStSN=htmlspecialchars($_POST['mtStSN']); //所属产品分类编码
$mtOrder=htmlspecialchars($_POST['mtOrder']); //获取排序号
$mtMemo=htmlspecialchars($_POST['mtMemo']);
$ID=$_POST['ID'];$strSql="update tbl_material set mtSN='$mtSN',mtName='$mtName',mtStSN='$mtStSN',mtOrder='$mtOrder' where ID=$ID"; //对表进行修改操作
mysql_query($strSql,$conn) or die("插入时出错".mysql_error());//发送SQL请求
echo "<script language='javascript'>alert('信息修改成功!');window.location.href='show_material.php';</script>";
?>
一下是修改页面的代码:
<?php
include("conn.php");
$ID=$_GET['ID'];
$sql = mysql_query("select * from tbl_material where ID=$ID" ); //此处为第13行
$info = mysql_fetch_array($sql);
?>
这个是上一个页面点击修改或删除后就跳到修改页面了一下是代码:
<td align="center" height="28px"><a href="update_material.php" ID=<?php echo $info[ID] ;?>>修改</a><a href="del_material.php?ID=<?php echo $info[ID] ;?>">删除</a></td>
再下面是执行修改数据库的代码了:
<?php
include("conn.php");
$mtSN=htmlspecialchars($_POST['mtSN']); //获取材质编码
$mtName=htmlspecialchars($_POST['mtName']); //获取材质名称
$mtStSN=htmlspecialchars($_POST['mtStSN']); //所属产品分类编码
$mtOrder=htmlspecialchars($_POST['mtOrder']); //获取排序号
$mtMemo=htmlspecialchars($_POST['mtMemo']);
$ID=$_POST['ID'];$strSql="update tbl_material set mtSN='$mtSN',mtName='$mtName',mtStSN='$mtStSN',mtOrder='$mtOrder' where ID=$ID"; //对表进行修改操作
mysql_query($strSql,$conn) or die("插入时出错".mysql_error());//发送SQL请求
echo "<script language='javascript'>alert('信息修改成功!');window.location.href='show_material.php';</script>";
?>
<?php
$conn = mysql_connect("localhost","root","406297671") or die ( "mysql_error()");
mysql_select_db("mebe",$conn);
mysql_query("set names utf8");
?>
echo $sql; //输出一下,看能取到id吗
抱歉,我看错了。可能是查询语句有问题,查询那一行改一下,看有没有错误:
$sql = mysql_query("select * from tbl_material where ID=$ID" ) or die(mysql_error());
<?php
include("conn.php");
$ID=$_GET['ID'];
$sql = mysql_query("select * from tbl_material where ID=$ID");
$info = mysql_fetch_array($sql);
?>
纳闷的事又发生了,当我点击修改后的保存按钮后出现了这个:
插入时出错You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1代码是我上面发的最后一个
$sql = mysql_query("select * from tbl_material where ID=$ID" ); //这里执行错误,可能原因有2:
1 . $ID没有取到值或者取值错误(请检查下数据值和类型)
2 .数据库中的字段不是ID而是其他。
你数据到底用post还是get提交
这里的话ID就该用$ID=$_GET['ID']了而不是post
代码如下:
<?php
include("conn.php");
$mtSN=($_POST['mtSN']); //获取材质编码
$mtName=($_POST['mtName']); //获取材质名称
$mtStSN=($_POST['mtStSN']); //所属产品分类编码
$mtOrder=($_POST['mtOrder']); //获取排序号
$mtMemo=($_POST['mtMemo']); //获取备注
$ID=$_POST['ID'];$strSql="update tbl_material set mtSN='$mtSN',mtName='$mtName',mtStSN='$mtStSN',mtOrder='$mtOrder' where ID='$ID'"; //对表进行修改操作
mysql_query($strSql,$conn) or die("插入时出错".mysql_error());//发送SQL请求
echo "<script language='javascript'>alert('信息修改成功!');window.location.href='show_material.php';</script>";
?>
db里面压根没有这个id 你更新当然没有任何数据会被改动1 检查你的sql
2 你自己应该知道id到底是get还是post提交
这句后面输出一下:
echo $strSql;
update tbl_material set mtSN='ghgh',mtName='ghghgh',mtStSN='ghghgh',mtOrder='0' where ID=''
什么地方错了,没有ID的值
没有看到你修改了这个错误!#2已经提醒你了
<td align="center" height="28px"><a href="update_material.php?ID=<?php echo $info[ID] ;?>">修改</a>
<?php
include("conn.php");
$ID=$_GET['ID'];
$sql = mysql_query("select * from tbl_material where ID=$ID" ,$conn);
$info = mysql_fetch_array($sql);
?>
<form id="form1" name="form1" method="post" action="uping_material.php" >
<table width="600" border="1" align="center" cellspacing="0" bordercolorlight="#66CCFF">
<input name="readerid" type="hidden" id="readerid" value="<?php echo $info[ID]?>"> //关键的问题一直是在这里隐藏一个从数据库中读出来的ID <tr>
<td colspan="2" align="center" bgcolor="#6699CC">添加材质</td>
</tr>
<tr>
<td width="171" align="right">材质编码:</td>
<td width="419"><label>
<input type="text" name="mtSN" id="textfield" value="<?php echo $info[mtSN];?>"/>
</label></td>
</tr>
<tr>
<td align="right">材质名称:</td>
<td><input type="text" name="mtName" id="mtName" value="<?php echo $info[mtName];?>"/></td>
</tr>
<tr>
<td align="right">所属产品分类编码:</td>
<td><input type="text" name="mtStSN" id="mtStSN" value="<?php echo $info[mtStSN];?>"/></td>
</tr>
<tr>
<td align="right">排序号:</td>
<td><input type="text" name="mtOrder" id="mtOrder" value="<?php echo $info[mtOrder];?>"/></td>
</tr>
<tr>
<td align="right">备注:</td>
<td><label>
<textarea name="mtMemo" id="mtMemo" cols="45" rows="5"><?php echo $info[mtMemo];?></textarea>
</label></td>
</tr>
<tr>
<td> </td>
<td><label>
<input type="submit" name="button" id="button" value="保存" />
<input type="reset" name="button2" id="button2" value="重置" />
</label></td>
</tr>
</table>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</form>真正写入数据库的代码:<?php
include("conn.php");
$mtSN=($_POST['mtSN']); //获取材质编码
$mtName=($_POST['mtName']); //获取材质名称
$mtStSN=($_POST['mtStSN']); //所属产品分类编码
$mtOrder=($_POST['mtOrder']); //获取排序号
$mtMemo=($_POST['mtMemo']); //获取备注
$ID=$_POST['readerid'];
$strSql="update tbl_material set mtSN='$mtSN',mtName='$mtName',mtStSN='$mtStSN',mtOrder='$mtOrder' where ID='$ID'"; //对表进行修改操作
//echo "$strSql";mysql_query($strSql,$conn) or die("插入时出错".mysql_error());//发送SQL请求
echo "<script language='javascript'>alert('信息修改成功!');window.location.href='show_material.php';</script>";
?>
这是怎么获取名称的?有点不明白