gpt4 book ai didi

php - 无法让 mysql_query 返回数据库中存在的任何值

转载 作者:行者123 更新时间:2023-11-29 23:08:06 24 4
gpt4 key购买 nike

我正在使用以下代码片段:

mysql_connect($host,$user,$password);
$sql = "SELECT FROM ec_opps WHERE id=" . $_GET["UPDATE"];
$item = mysql_query($sql);
mysql_close();
print_r($item);

尝试根据 UPDATE 值检索数据。该值准确地打印到页面,并且我知道我请求的 ID 存在于数据库中。 print_r($item) 函数没有返回结果,甚至没有返回空数组,所以我很困惑我哪里出错了。

我知道这样使用 MySQL 并不是最佳实践,但我这样做是有原因的。

最佳答案

您缺少在 SELECT 查询中选择的列,或者您可以通过输入 * 来选择所有列,这意味着选择所有列。

$sql = "SELECT * FROM ec_opps WHERE id='" . $_GET["UPDATE"]."'";

您的查询很可能是SQL injections .

您应该避免使用 MySQL。这是deprecated已经。您至少应该使用 MySQLi_* 来代替。

<?php
/* ESTABLISH CONNECTION */
$mysqli = new mysqli($host, $user, $password, $database);

if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

$query = "SELECT column1, column2 FROM ec_opps WHERE id=?"; /* REPLACE NEEDED COLUMN OR ADD/REMOVE COLUMNS TO BE SELECTED */

if ($stmt = $mysqli->prepare($query)) {

$stmt->bind_param("s", $_GET["UPDATE"]); /* BIND GET VALUE TO THE QUERY */
$stmt->execute(); /* EXECUTE QUERY */
$stmt->bind_result($column1,$column2); /* BIND RESULTS */

while ($stmt->fetch()) { /* FETCH RESULTS */
printf ("%s (%s)\n", $column1, $column2);
}

$stmt->close();
}

$mysqli->close();

?>

关于php - 无法让 mysql_query 返回数据库中存在的任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28208299/

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