gpt4 book ai didi

php - 无法在 php 中使用 MYSQL INSERT INTO

转载 作者:行者123 更新时间:2023-11-29 00:14:33 24 4
gpt4 key购买 nike

实际上我是新手,在插入 mysql 的属性时遇到问题。

我创建了两个表,即问题和答案。用户可以通过 html 形式提供数据(对于两个表)。由于一些未知的错误,数据没有插入到答案表中,问题表没有这样的问题。奇怪的是,除了变量名外,两个表的 php 插入代码几乎相同。

singleques_info.php 代码:

<?PHP

session_start();
$t=$_GET['p'];
$ans= "";
$error_message = "";
$num_rows = 0;

function quote_smart($value, $handle)
{
if (get_magic_quotes_gpc())
{
$value = stripslashes($value);
}
if (!is_numeric($value))
{
$value = "'" . mysql_real_escape_string($value, $handle) . "'";
}
return $value;
}

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$ans = $_POST['ans'];
$ans = htmlspecialchars($ans);
$uLength = strlen($ans);
if ($uLength <=100)
{
$error_message = "";
}
else
{
$error_message = $error_message . "Username must be between 10 and 20 characters" . "<BR>";
}


if ($error_message == "")
{
$username = "root";
$password = "";
$database = "techinsight";
$server = "127.0.0.1";
$db_handle = mysql_connect($server, $username, $password);
$db_found = mysql_select_db($database, $db_handle);

if ($db_found)
{
echo "connected";
$ans = quote_smart($ans, $db_handle);
$SQL = "SELECT * FROM answers WHERE answer= $ans";
$result = mysql_query($SQL);
$num_rows = mysql_num_rows($result);
if ($num_rows > 0)
{
echo "Question already taken";
}
else
}
$SQL = "INSERT INTO answers (Aid, answer, date) VALUES ($t, $ans, CURDATE())";
$result = mysql_query($SQL);
mysql_close($db_handle);

session_start();
$_SESSION['login'] = "1";

header ("Location:ques_wala_main.php");
echo "You are done.";
}

}
else
{
$errorMessage = "Database Not Found";
}

}
//<div class="content_mess">
/* else
{
session_start();
$_SESSION['login'] = "";
header ("Location: signup.php");
echo "Please SignIn Before Asking....";
}
// </div> */

}

?>

html 表单:

 <form id="ans" method="POST" name="ans" action="#">
<div class="field extra">
<label>your answer:</label> <br/> <br/> <br/>
<textarea name="ans" cols="70" rows="6"></textarea>
</div>
<br/> <br/>
<input type="submit" name="submit" value="submit" />
</form>

最佳答案

问题已通过 OP 在脚本顶部添加以下内容解决:

error_reporting(E_ALL);
ini_set('display_errors', 1);

发现服务器不再支持 mysql_* 函数,不得不求助于切换到 mysqli_* 函数。

这是通过多条评论与 OP 交谈过的。


当现在使用 mysqli_* 函数时,(有一个额外的选项):

将错误报告添加到您的文件顶部,这将有助于生产测试。

error_reporting(E_ALL);
ini_set('display_errors', 1);

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

MySQL(报错链接)


其他 API:

Use mysqli with prepared statements , 或 PDO

PDO 错误处理:

关于php - 无法在 php 中使用 MYSQL INSERT INTO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23449806/

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