台灣最大程式設計社群網站
線上人數
1640
 
會員總數:246050
討論主題:189633
歡迎您免費加入會員
討論區列表 >> PHP >> 求救PHP高手~我無法把資料新增到資料庫...到底哪裡寫錯了..求解
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
求救PHP高手~我無法把資料新增到資料庫...到底哪裡寫錯了..求解
價值 : 10 QP  點閱數:1778 回應數:10
樓主

崇恩
門外漢
0 2
27 5
發送站內信

這是取出資料庫資料 這部分沒問題

<?php
header("Content-Type: text/html; charset=utf-8");
include("connMysql.php");
$seldb = @mysql_select_db("training");
if (!$seldb) die("資料庫選擇失敗!");
$sql_query = "SELECT * FROM score";
$result = mysql_query($sql_query);
$total_records = mysql_num_rows($result);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>學生資料管理系統 </title>
<style type="text/css">
<!--
body {
background-color: #FFC;
background-image: url(images/bg13.gif);
margin-left: 75px;
}
-->
</style></head>
<h1 align="center">學生資料管理系統</h1>
<p align="center">目前資料筆數:<?php echo $total_records;?>,<a href="addData.php">新增學生資料</a>。</p>
<table border="1" align="center">
<!-- 表格表頭 -->
<tr>
<th bgcolor="#66CC00">學號</th>
<th bgcolor="#66CC00">姓名</th>
<th bgcolor="#66CC00">性別</th>
<th bgcolor="#66CC00">年級</th>
<th bgcolor="#66CC00">系別</th>
<th bgcolor="#66CC00">經濟學</th>
<th bgcolor="#66CC00">統計學</th>
<th bgcolor="#66CC00">會計學</th>
</tr>
<!-- 資料內容 -->
<?php
while($row_result=mysql_fetch_assoc($result)){
echo "<tr>";
echo "<td>".$row_result["cID"]."</td>";
echo "<td>".$row_result["cName"]."</td>";
echo "<td>".$row_result["cSex"]."</td>";
echo "<td>".$row_result["cGrade"]."</td>";
echo "<td>".$row_result["cDepartment"]."</td>";
echo "<td>".$row_result["cEconomics"]."</td>";
echo "<td>".$row_result["cStatistics"]."</td>";
echo "<td>".$row_result["cAccounting"]."</td>";
//echo "<td><a href='update.php?id=".$row_result["cID"]."'>修改</a> ";
//echo "<a href='delete.php?id=".$row_result["cID"]."'>刪除</a></td>";
echo "</tr>";
}
?>
</table>
</body>
</html>


但是下列程式要新增資料到資料庫卻沒任何反應....


<?php
if(isset($_POST["action"])&&($_POST["action"]=="add")){
include("connMysql.php");
if (!@mysql_select_db("training")) die("資料庫選擇失敗!");

$field = implode(',',array_keys($_POST));
$value = implode("','",$_POST);

$sql_query = "INSERT INTO score (cID ,cName ,cSex ,cGrade ,cDepartment ,cEconomics ,cStatistics ,cAccounting) VALUES (";
$sql_query .= "'".$_POST["cID"]."',";
$sql_query .= "'".$_POST["cName"]."',";
$sql_query .= "'".$_POST["cSex"]."',";
$sql_query .= "'".$_POST["cGrade"]."',";
$sql_query .= "'".$_POST["cDepartment"]."',";
$sql_query .= "'".$_POST["cEconomics"]."',";
$sql_query .= "'".$_POST["cStatistics"].",";
$sql_query .= "'".$_POST["cAccounting"]."')";


mysql_query($sql_query);
//重新導向回到主畫面
header("Location: showData.php");
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>成績登入程式</title>
<style type="text/css">
<!--
body {
background-color: #FFC;
background-image: url(images/bg13.gif);
margin-left: 75px;
}
.t1 {
font-size: 36px;
color: #00F;
}
-->
</style></head>
<body>
<span class="t1"> 成績登入程式</span>
<form action="" method="POST" name="formAdd" id="formAdd">

<p><img src="images/ball.gif" width="14" height="14">請輸入學號:
<input type="text" name="cID" />
</p>
<p><img src="images/ball.gif" width="14" height="14">請輸入姓名:
<input type="text" name="cName" />
</p>
<p><img src="images/ball.gif" width="14" height="14">請輸入性別
<label>:
<input name="cSex" type="radio" id="cSex" value="M" checked>
男</label>
<input type="radio" name="cSex" id="cSex" value="F">

</p>
<p><img src="images/ball.gif" width="14" height="14">請輸入年級
<label>:
<input name="cGrade" type="radio" id="cGrade" value="一年級" checked>
一年級 </label>
<label>:
<input name="cGrade" type="radio" id="cGrade" value="二年級">
二年級 </label>
<label>:
<input name="cGrade" type="radio" id="cGrade" value="三年級">
三年級 </label>
<label>:
<input name="cGrade" type="radio" id="cGrade" value="四年級">
四年級 </label>
</p>
<p><img src="images/ball.gif" alt="" width="14" height="14">請輸入系別:
<select name="cDepartment" id="cDepartment">
<option value="D001">資訊管理學系</option>
<option value="D002">企業管理學系</option>
<option value="D003">財務管理學系</option>
<option value="D004">會計資訊學系</option>
<option value="D005">人力資源管理學系</option>
</select>
</p>
<p>&nbsp;</p>
<table width="591" border="1">
<tr>
<td width="56" bgcolor="#66CC00">&nbsp;</td>
<td width="169" bgcolor="#66CC00"><div align="center">經濟學成績</div></td>
<td width="169" bgcolor="#66CC00"><div align="center">統計學成績</div></td>
<td width="169" bgcolor="#66CC00"><div align="center">會計學成績</div></td>
</tr>

<tr>
<td bgcolor="#33FF99"><div align="center">分數</div></td>
<td bgcolor="#33FF99"><label>
<input name="cEconomics" type="text" id="cEconomics" size="15" maxlength="5">
</label></td>
<td bgcolor="#33FF99"><label>
<input name="cStatistics" type="text" id="cStatistics" size="15" maxlength="5">
</label></td>
<td bgcolor="#33FF99"><label>
<input name="cAccounting" type="text" id="cAccounting" size="15" maxlength="5">
</label></td>
</tr>
</table>

<p>
<input name="action" type="hidden" value="add">
<input type="submit" name="button" id="button" value="新增資料">
</p>
</p>
</form>
</body>
</html>

求大大幫解答....謝謝

本篇文章發表於2015-01-07 21:58
1樓
最有價值解答

迷路
捐贈 VP 給 迷路 檢舉此回應
請先將$sql_query顯示出來看看是否正確(直接在資料庫執行看看)
另外
程式碼善用編輯區功能,不然看起來很不舒服
還有
這個跟你的問題沒關係,不過一個網頁中,id值是不可以重複的,就算是radio或checkbox也一樣
本篇文章回覆於2015-01-08 09:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

LaLa
檢舉此回應
1. 先print你的$_POST 看有沒有資料
2. 貼一下你的資料庫結構
本篇文章回覆於2015-01-08 11:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

崇恩
檢舉此回應
這是我得資料庫結構 感謝再感謝



本篇文章回覆於2015-01-08 11:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

迷路
捐贈 VP 給 迷路 檢舉此回應
把$sql_query顯示出來,應該就會發現問題了,少了一個引號
本篇文章回覆於2015-01-08 12:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

崇恩
檢舉此回應


剛剛加 echo $sql_query .= "'".$_POST["cName"];
網頁上就顯示出
INSERT INTO score (cID ,cName ,cSex ,cGrade ,cDepartment ,cEconomics ,cStatistics ,cAccounting) VALUES ('u2147','王曉明','M','四年級','D005','50','70,'80')'王曉明
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\addData.php.php:17) in C:\AppServ\www\addData.php.php on line 21
本篇文章回覆於2015-01-08 12:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

崇恩
檢舉此回應
大大不好意思~我是新手不知該如何才能把把$sql_query顯示出來.....
本篇文章回覆於2015-01-08 12:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

LaLa
檢舉此回應
迷大正解

$sql_query .= "'".$_POST["cStatistics"].",";
少了一個 『'』
改成
$sql_query .= "'".$_POST["cStatistics"]."',";
本篇文章回覆於2015-01-08 12:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

崇恩
檢舉此回應
樓上大大..謝謝你們的熱心
已處理好 但是怎們給你們2位QP 能同時給2位嗎?
本篇文章回覆於2015-01-08 13:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

LaLa
檢舉此回應
給迷大即可,
賺QP不是我的目的,所以我沒什麼所謂 :)
本篇文章回覆於2015-01-08 13:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

崇恩
檢舉此回應
再次感謝 迷大跟LaLa
謝謝你們幫忙
本篇文章回覆於2015-01-08 14:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.