嗨嗨大家目前在更新我的myqsl数据库时遇到问题我有一个弹出窗口更新它没有错误,但它没有更新问题。
这是弹出窗口的php代码:
<?php
session_start();
include("selectDB.php");
myconnection();
if(isset($_POST['submit']))
{
$myquery="update member set contactno='".$_POST['contactno']."',email='".$_POST['email']."',religion='".$_POST['religion']."',deptid='".$_POST['deptid']."',where memberid='".$_POST['mid']."'";
mysql_query($myquery);
echo "Record has been saved.";
}else{
$myquery="select * from member where memberid='".$_SESSION['memberid']."'";
$results=mysql_query($myquery);
$rs=mysql_fetch_array($results);
?>
<form action="editacct.php" method="post" align="left">
<input type="text" name="mid" size="30" value="<?php echo $rs['memberid'];?>" hidden /><br />
Contact Number:<br /> <input type="text" name="contactno" size="30" value="<?php echo $rs['contactno'];?>" /><br />
E-mail Adress:<br /> <input type="text" name="email" size="30" value="<?php echo $rs['email'];?>"/><br />
Religion:<br /> <input type="text" name="religion" size="30" value="<?php echo $rs['religion'];?>"/><br />
Address:<br /> <input type="text" name="address" size="30" value="<?php echo $rs['address'];?>"/><br />
Department:<br /><select name="deptid" value="<?php echo $rs['deptid'];?>"><br />
<option value="">Select</option>
<option value="CAH001">Development Communication</option>
<option value="CAH002">English</option>
<option value="CAH003">Filipino</option>
<option value="CAH004">Fine Arts</option>
<option value="CAH005">History and Social Sciences</option>
<option value="CAH006">Music</option>
<option value="CAH007">P.E</option>
<option value="CAH008">Psychology</option>
<option value="CAH006">Music</option>
<option value="CAH007">P.E</option>
<option value="CAH008">Psychology</option>
<option value="COB001">Accountancy</option>
<option value="COB002">Commerce</option>
<option value="COB003">Office Administration</option>
<option value="COD001">Dentistry</option>
<option value="COE001">Elementary Education</option>
<option value="COE002">Secondary Education</option>
<option value="COH001">Medical Laboratory</option>
<option value="COH002">Nutrition and Dietetics</option>
<option value="CON001">Nursing</option>
<option value="COT001">Theology</option>
<option value="CST001">Biology</option>
<option value="CST002">Chemistry</option>
<option value="CST003">Computer Science</option>
<option value="CST004">Computer Technology</option>
<option value="CST005">Library Science</option>
<option value="CST006">Math and Physics</option>
<input type="submit" name="submit" value="Update" />
</select>
<br />
</form>
<?php
}
?>
这是弹出窗口的javascript:
<script type="text/javascript">
function popup(){
cuteLittleWindow = window.open("editacct.php", "", "width=700,height=500");
}
</script>
这是显示弹出窗口的链接
<div class="clearfix grpelem" id="pu325-3"><!-- group -->
<a class="nonblock nontext anim_swing clearfix grpelem" id="u325-3" href="javascript:popup()"><!-- content --><p> </p></a>
<a class="nonblock nontext anim_swing clearfix grpelem" id="u333-6" href="javascript:popup()"><!-- content --><p>ACCOUNT</p><p>INFO</p></a>
</div>
答案 0 :(得分:2)
在启动where
子句之前删除尾随逗号:
deptid='".$_POST['deptid']."',where
^ right there
使用mysql_query($myquery) or die(mysql_error());
会发出错误信号。
我想请注意,您目前的代码向SQL injection开放。使用mysqli
with prepared statements或PDO with prepared statements,它们更安全。
mysql_real_escape_string()
直到切换。将error reporting添加到文件的顶部,这有助于查找错误。
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
旁注:错误报告应仅在暂存时完成,而不是生产。
修改(从mysql_
转换为mysqli_
,这是一种基本方法。
将您当前的数据库连接更改为以下内容。
这是取自http://php.net/manual/en/function.mysqli-connect.php
的示例<?php
$link = mysqli_connect("myhost","myuser","mypassw","mybd")
or die("Error " . mysqli_error($link));
// rest of your code
然后将mysql_query($myquery);
更改为mysqli_query($link, $myquery);
$results=mysql_query($myquery);
至$results=mysqli_query($link, $myquery);
$rs=mysql_fetch_array($results);
至$rs=mysqli_fetch_array($results);
如果您有任何以mysql_
开头的其他功能,则必须将其更改为mysqli_
。
所有mysqli_
函数都需要将DB连接作为第一个参数传递。
我帮助你了。如果这仍然不起作用,那么我将删除这个答案。