我对PHP非常陌生,我一件事也想不出来,而且我打赌有一个非常简单的解决方案。
问题是,在一个页面上,我有多行显示Product ID。我试图通过检索不同的$product_id = $_POST['pid'];上的post .php来删除选定的行,但是返回的值是它发布的最后一行,而不是选定的行,这导致我在尝试删除第一行时删除最后一行。
为了获得选择的 POST product_id而不是最后一次发布product_id,我需要更改什么?
正如我说的,我很新,所以我肯定我的代码中有一些错误,或者它的方式太简单了,不管怎样,这是我想要做的。
$sql2 = "SELECT * from shoppingcart_items WHERE shoppingcart_id=".$wid."";
$result2 = mysql_query($sql2, $con) or die('sql2'.mysql_error());
while($row = mysql_fetch_array($result2))
$pid = $row['product_id'];
echo '<td><input type="text" name="pid" value="'. $pid .'"></td> '; 它检索诸如3、4、5、7等行,而在另一个php页面上,我尝试删除选定的行。
$sql2 ="DELETE FROM shoppingcart_items WHERE product_id = '".$_REQUEST["pid"]."' AND shoppingcart_id ='".$_REQUEST["wid"]."'";因此,我删除了最后一个值,即7,而不是我选择的那个,例如3。
发布于 2013-06-28 19:14:28
echo您试图在PHP中运行的查询,以检查它是否正确。只要调试web应用程序,就需要做几件普通的事情。
奖励-始终确保转义数据或将其转换为整数(在it的情况下),以确保您不会受到SQL注入的攻击。
例如。
$querySTR = 'SELECT * FROM sensitive_data WHERE id=' . (integer)$_POST['id'] . " AND username='" . $db->real_escape_string($_POST['username']) . "'";注意,这使用的是PHP扩展,$db是一个有效的数据库连接资源。
哦,没有人能给出具体的帮助,除非你发布了特定的代码:)
发布于 2013-06-28 20:12:57
看起来,您要为前面的每个可能的产品id指定相同的“输入”名称(为“name=”“pid”),因此您将得到多个相同的名称.
就像说“苹果是绿色的”,“苹果是红色的”“苹果是黑色的”
这个苹果有什么颜色?
https://stackoverflow.com/questions/17371931
复制相似问题