0

html

<form id = "recall_TextArea2" method="post" action="SaveRecall2.php">
    <center><textarea name="recall_Info" cols="60" rows="30em"></textarea></center>
</form> 

php

if (isset($_POST['recall_Info'])) {
    $recall_Info = $_POST['recall_Info'];
}
else {
    echo "nothing was recalled.";
}

$recall_Info = stripslashes($recall_Info);
$recall_Info = mysqli_real_escape_string($recall_Info);
$update_sql = "UPDATE  `participants` SET  `recall_1` =  '$recall_Info' WHERE  `school_id` =825776 LIMIT 1 ;";

我希望能够在带有撇号的文本区域中输入文本,但每次我尝试时,它都不起作用。

当我取出时它会保存普通文本(没有撇号)

$recall_Info = stripslashes($recall_Info);
$recall_Info = mysqli_real_escape_string($recall_Info);
4

1 回答 1

1

我会说看看您是否正确访问您的表单/发布数据。也许在 sql 之前回显您的表单数据以查看发生了什么。

这对我有用,我没有更改您的 sql 查询:

$username = "root";
$password = "root";
$host = "localhost";
$dbname = "test";

$mysqli = new mysqli($host, $username, $password, $dbname);

$recall_Info ="this is new recall info text";

$update_sql = "UPDATE  `participants` SET  `recall_1` =  '$recall_Info'  '' WHERE       `school_id` ='825776' LIMIT 1;";

$stmt = $mysqli->stmt_init();
$stmt->prepare($update_sql);
$stmt->execute();

if ($stmt->affected_rows > 0) {
$OK = true;
}
if ($OK) {
echo 'update successful';
}
于 2013-02-18T16:12:25.310 回答