gpt4 book ai didi

php - 行不更新

转载 作者:行者123 更新时间:2023-11-30 01:31:57 26 4
gpt4 key购买 nike

大家好,我有一个小问题,我的数据库没有更新我的简单推荐应用程序!当使用此解析脚本将条目插入数据库时​​,我的应用程序运行良好。

<?php
$testtitle = preg_replace('#[^a-z0-9""-. ]#i', '', $_POST['ts_tt']);
$testbody = preg_replace('#[^a-z0-9""-. ]#i', '', $_POST['ts_tb']);
$compowner = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_co']);
$ownertitle = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_ot']);
$compname = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_cn']);
$compwebsite = preg_replace('#[^a-z0-9 .-]#i', '', $_POST['ts_cw']);

include_once "../php_includes/db_conx.php";

$sql = "INSERT INTO testimonials (testtitle, testbody, compowner, ownertitle, compname, compwebsite)
VALUES ('$testtitle', '$testbody', '$compowner', '$ownertitle', '$compname', '$compwebsite')";
if (!mysql_query($sql, $connection)){
die('Error: ' . mysql_error());
}
exit();
?>

我发现我的更新脚本没有更新!伙计们,我在这里错过了什么吗?非常感谢...

<?php
$pid = $_POST['pid'];
$testtitle = preg_replace('#[^a-z0-9""-. ]#i', '', $_POST['ts_tt']);
$testbody = preg_replace('#[^a-z0-9""-. ]#i', '', $_POST['ts_tb']);
$compowner = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_co']);
$ownertitle = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_ot']);
$compname = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_cn']);
$compwebsite = preg_replace('#[^a-z0-9 .-]#i', '', $_POST['ts_cw']);

include_once "../php_includes/db_conx.php";

$sql = "UPDATE testimonials SET testtitle='$testtitle', testbody='$testbody', compowner='$compowner', ownertitle='$ownertitle', compname='$compname', compwebsite='$compwebsite' WHERE id='$pid' LIMIT 1";

if (!mysql_query($sql, $connection)){
die('Error: ' . mysql_error());
}
exit();
?>

更新这就是我现在所拥有的...

<?php
$sql = "SELECT * FROM testimonials WHERE id='$pid'";

$pid = $_POST['pid'];
$testtitle = preg_replace('#[^a-z0-9""-. ]#i', '', $_POST['ts_tt']);
$testbody = preg_replace('#[^a-z0-9""-. ]#i', '', $_POST['ts_tb']);
$compowner = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_co']);
$ownertitle = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_ot']);
$compname = preg_replace('#[^a-z0-9 ]#i', '', $_POST['ts_cn']);
$compwebsite = preg_replace('#[^a-z0-9 .-]#i', '', $_POST['ts_cw']);

include_once "../php_includes/db_conx.php";

$sql = "UPDATE testimonials SET testtitle='$testtitle', testbody='$testbody', compowner='$compowner', ownertitle='$ownertitle', compname='$compname', compwebsite='$compwebsite' WHERE id='$pid'";

if (!mysql_query($sql, $connection)){
die('Error: ' . mysql_error());
}
exit();
?>

大家好,这里是我的 HTML 表单!是的,我知道它在表中。我在表单上方还有一些 php 代码,这是......

<?php 
$pid = ereg_replace("[^0-9]", "", $_POST['pid']);
include_once "../php_includes/db_conx.php";
$sql = "SELECT testtitle, testbody, compowner, ownertitle, compname, compwebsite FROM testimonials WHERE id='$pid' LIMIT 1";
$query = mysql_query($sql, $connection) or die (mysql_error());
while ($row = mysql_fetch_array($query)) {
$testtitle = $row["testtitle"];
$testtitle = str_replace("<br />", "", $testtitle);
$testbody = $row["testbody"];
$testbody = str_replace("<br />", "", $testbody);
$compowner = $row["compowner"];
$ownertitle = $row["ownertitle"];
$compname = $row["compname"];
$compwebsite = $row["compwebsite"];
}
mysql_free_result($query);
?>

然后我的表格是...

<form method="post" action="testimonial_edit_parse.php" onsubmit="return validate_form ( );">
<tr>
<td width="12%" align="right" bgcolor="#F5E4A9">Testimonial Full Title</td>
<td width="88%" bgcolor="#F5E4A9"><input name="ts_tt" id="testtitle" type="text" size="80" maxlength="64" value="<?php echo $testtitle; ?>" /></td>
</tr>
<tr>
<td align="right" valign="top" bgcolor="#DAEAFA">Testimonial Body</td>
<td bgcolor="#DAEAFA"><textarea name="ts_tb" id="testbody" cols="60" rows="16"><?php echo $testbody; ?></textarea></td>
</tr>
<tr>
<td align="right" bgcolor="#D7EECC">Company Owner</td>
<td bgcolor="#D7EECC"><input name="ts_co" id="compowner" type="text" maxlength="64" size="80" value="<?php echo $compowner; ?>" /></td>
</tr>
<tr>
<td align="right" bgcolor="#D7EECC">Owner Title</td>
<td bgcolor="#D7EECC"><input name="ts_ot" id="ownertitle" type="text" maxlength="64" size="80" value="<?php echo $ownertitle; ?>"/></td>
</tr>
<tr>
<td align="right" bgcolor="#D7EECC">Company Name</td>
<td bgcolor="#D7EECC"><input name="ts_cn" id="compname" type="text" maxlength="64" size="80" value="<?php echo $compname; ?>" /></td>
</tr>
<tr>
<td align="right" bgcolor="#D7EECC">Company Website</td>
<td bgcolor="#D7EECC"><input name="ts_cw" id="compwebsite" type="text" maxlength="64" size="80" value="<?php echo $compwebsite; ?>" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="ts_button" value="Submit this edit" /></td>
</tr>
</form>

最佳答案

首先,我会使用 PDO 来完成此操作...因为...mysql_* 函数已被弃用,并将很快从 PHP 中删除。 PDO 更安全,您不必对所有内容进行 mysql_real_escape_string,它会在准备好的语句中为您处理。

  $conn = new PDO("mysql:host=localhost;dbname=$yourdbname",$yourdbuser,$yourdbpass);

$sql = "UPDATE testimonials
SET testtitle=?, testbody=?, compowner=?, ownertitle=?, compname=?, compwebsite=?,
WHERE id=?";
$q = $conn->prepare($sql);
$q->execute(array($testtitle,$testbody, $compowner, $ownertitle, $compname, $compwebsite, $pid));

但是要回答你的问题......我怀疑你的 $_POST['pid'] 没有真正正确传递,因此该行没有更新。

如果您需要更多帮助,您需要向我们展示您提交此信息的 HTML 表单

编辑

正如我怀疑的那样,您没有以该形式将 $pid 传递到任何地方,因此另一端的脚本不知道要更新哪个 ID。

您需要使用此记录中的 ID 填充隐藏字段

<input type="hidden" name="pid" id="pid" value="<?echo $idfromdatabase;?>">

关于php - 行不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17347248/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com