iT邦幫忙

0

php網頁SQL執行成功卻無法刪除資料

  • 分享至 

  • xImage

按下刪除鍵後網址顯示
(XXX.php?Submit=刪除&456=456)
卻無法刪除成功
請問高手解救!

我的程式碼如下

看更多先前的討論...收起先前的討論...
scjh8214 iT邦新手 5 級 ‧ 2019-02-04 13:10:22 檢舉
<?php
$$OfferID =!empty($_GET["$OfferID"]) ? $_GET["$OfferID"] : "";
$db = 'CRM';
mysql_connect('localhost', 'xxx', 'xxxx');
mysql_select_db("CRM");
mysql_query("SET CHARACTER SET utf8;");
if ( $$OfferID == "" )
{
echo '
<table border="1" bgcolor="#CCFFFF">
<tr>
<td width="50" align="center">編號</td>
<td width="50" align="center">優惠名稱</td>
<td width="120" align="center">功能</td>
</tr>';
$sql = 'SELECT * FROM `SpecialOffersdata`';
$result = mysql_query($sql);
$num = mysql_num_rows($result);
for ( $i=1; $i<=$num; $i++ )
{
$row = mysql_fetch_row($result);
$OfferID = $row[1];
$OfferDetail = $row[2];
echo "<tr><form>";
echo "<td align='center'>$OfferID</td>";
echo "<td align='center'>$OfferDetail</td>";
echo "<td align='center'>
<input type='submit' name='Submit' value='刪除'/>
<input type='hidden' name='$OfferID' value='$OfferID'/>
</td>";
echo "</form></tr>";
}
echo '</table>';
}
else
{
$Submit =!empty($_GET["Submit"]) ? $_GET["Submit"] : null;

$msg = '';
if ( $Submit == '刪除' )
{
$sql = "DELETE FROM SpecialOffersdata WHERE OfferID='$OfferID'";
$msg = '刪除完成';
}
else
{
echo '不正常操作';
return;
}
mysql_query($sql) or die('SQL執行錯誤');

echo $msg;
}
mysql_close();
?>
watercool iT邦新手 5 級 ‧ 2019-02-04 13:36:09 檢舉
Break point 設一下,看傳進去的是什麼
我覺得……你打掉重學吧!
不是你的問題。
是你看的教學的問題。
scjh8214 iT邦新手 5 級 ‧ 2019-02-04 15:36:07 檢舉
Break point 該怎麼設呢??
scjh8214 iT邦新手 5 級 ‧ 2019-02-04 15:36:23 檢舉
甚麼看教學問題0.0??
就是從你寫的code可以看得出你的教學資源舊到一個不行。
再來break point我相信你設了也不會有任何作用……
因為估計你連整體的環境設定都還沒搞懂。
這就我說的「打掉重學」的意思。
scjh8214 iT邦新手 5 級 ‧ 2019-02-04 16:29:53 檢舉
那有沒有推薦的網站或是書籍可供參考呢?
weiclin iT邦高手 4 級 ‧ 2019-02-04 16:46:09 檢舉
先問一個問題, 你知道 $$OfferID 跟 $OfferID 的差別嗎?
scjh8214 iT邦新手 5 級 ‧ 2019-02-04 16:58:31 檢舉
我只知道$OfferID是我自己宣告替代row[1]的0.0
小的我還很菜
scjh8214 iT邦新手 5 級 ‧ 2019-02-04 17:03:04 檢舉
但我另一個的程式卻可以使用更新類似上面的
我原先上面的程式碼原先是可以通的
但後來做其他的功能再回來測試一遍就突然不能用了
我另一個的程式碼
<?php
$OpinionNum =!empty($_GET["OpinionNum"]) ? $_GET["OpinionNum"] : "";
$db = 'CRM';
mysql_connect('localhost', 'xxxx', 'xxxx');
mysql_select_db("CRM");
mysql_query("SET CHARACTER SET utf8;");
if ( $OpinionNum == "" )
{
echo '
<table border="0" align="center">
<tr align="center"><td><font size="7"><B>意見反饋</B></font></td></tr>
</table><br><br>
<table border="1" bgcolor="#ccffcc" align="center">
<tr>
<td width="150" align="center"><font size="5">意見反饋編號</font></td>
<td width="150" align="center"><font size="5">顧客姓名</font></td>
<td width="150" align="center"><font size="5">顧客電話</font></td>
<td width="150" align="center"><font size="5">顧客評語</font></td>
<td width="150" align="center"><font size="5">回覆評語</font></td>
<td width="75" align="center"><font size="5">功能</font></td>
</tr>';
$sql = "SELECT * FROM `Ratingsdata` where SNumber='$number'";
$result = mysql_query($sql);
$num = mysql_num_rows($result);
for ( $i=1; $i<=$num; $i++ )
{
$row = mysql_fetch_row($result);
$OpinionNum = $row[1];
$UName = $row[3];
$UPn = $row[4];
$MealReview = $row[5];
$ReplyReview= $row[6];
echo "<tr><form>";
echo "<td align='center'><font size='4'>$OpinionNum</font></td>";
echo "<td align='center'><font size='4'>$UName</font></td>";
echo "<td align='center'><font size='4'>$UPn</font></td>";
echo "<td align='center'><font size='4'>$MealReview</font></td>";
echo "<td><input type='text' name='r' value='$ReplyReview' size='15' style='width:150px;height:25px;font-size:15px;'/></td>";
echo "<td align='center'><input type='submit' name='Submit' value='回覆' style='width:70px;height:25px;font-size:15px;'/>
<input type='hidden' name='OpinionNum' value='$OpinionNum'/>
</td>";
echo "</form>";
}
echo '</tr></table>';
echo '<table style="border:0px #ccffcc groove;" align="center"><br><tr><td width="80" align="center"></td><td width="210" align="center"></td><td width="100" align="center"><a href="text.php"><font size="5">回上頁</font></a></td><td width="165" align="center"></td><td width="140" align="center"></td></tr></table>';

}
else
{
$r =!empty($_GET["r"]) ? $_GET["r"] : null;
$Submit =!empty($_GET["Submit"]) ? $_GET["Submit"] : null;
mysql_query("SET NAMES 'utf8'");
$msg = '';
if ( $Submit == '回覆' )
{
$sql = "UPDATE Ratingsdata SET ReplyReview = '$r' WHERE OpinionNum='$OpinionNum'";
mysql_query($sql)or die ("無法回覆".mysql_error());

$url = "opinion.php";
echo "<script>alert('回覆成功!')</script>";
echo "<script>window.location.href = '$url'</script>";
}
else
{
echo '不正常操作';
echo "$r";
echo "$OpinionNum";
return;
}
mysql_query($sql) or die('SQL執行錯誤');

echo $msg;
}
mysql_close();
?>
weiclin iT邦高手 4 級 ‧ 2019-02-04 17:42:17 檢舉
那你不覺的你打錯字了嗎...你貼的程式裡面
有的用 $$OfferID 有的用 $OfferID
還有一個 $_GET["$OfferID"], 不像初學者該用的東西
確定不是 $_GET["OfferID"] 嗎?
scjh8214 iT邦新手 5 級 ‧ 2019-02-04 17:52:00 檢舉
因為我看YOUTUBE參考慢慢改然後用的
我已經修改完成了
感謝各位的回應!
小的我很感激!!!
祝各位有好的新年~~
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
淺水員
iT邦大師 6 級 ‧ 2019-02-04 18:18:20

關於資料庫連接部分,有些已經是PHP官方丟棄或移除的函式了
例如:mysql_connect 以及 mysql_query
我沒有每個都列出來,自己可以去官方網站查詢
目前我是習慣用 PDO 連資料庫,最早是看可樂快跑拍的影片學的

另外應該了解一下網頁怎麼傳遞參數給伺服器
一般不會出現 456=456 這樣的東西
可以寫 id=456
然後 php 那邊用 $_GET['id'] 取得這個值
(然後也要了解 GET 與 POST 的差別)

還有在留言中已經有提過的 $$OfferID$OfferID 也有需要弄懂
範例

$abc='123';
$key='abc';

echo $key.'<br>'.$$key;

我要發表回答

立即登入回答