我遇到了一个SQL查询问题,我已经插入到一段PHP代码中来检索一些数据。查询本身在SQL中完美运行。我使用以下PHP脚本。 我有以下目标:
$sql
。这部分在这个阶段不起作用。 echo ($sql)
返回SELECT Brand FROM Transport WHERE Type = 'car'
如果您看到此问题的解决方案以及代码的其余部分是否正确,请告诉我。这是我的f_sqlConnect()
function f_sqlConnect() {
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if (!link) {
die('Could not connect: '.mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
die('Can not use'.DB_NAME.
': '.mysql_error());
}
}
/*This function cleans up the array to protect against injection attacks */
function f_clean($array) {
return array_map('mysql_real_escape_string', $array);
}
<?php
// Create connection
$link = f_sqlConnect();
// Getting data from the column Brand of the table Transport
$sql = "SELECT Brand FROM Transport WHERE Type = 'car'";
$result = $link->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Brand: " . $row["Brand"]. "<br>";
}
} else {
echo "0 results";
}
$link->close();
?>
答案 0 :(得分:0)
以下是代码,但未看到 f_sqlConnect(); 方法。在您的情况下,此方法应返回DB的连接字符串。但是你可以使用以下代码,这必须有效。
<?php
$servername = "Your_db_host";
$username = "your_db_username";
$password = "your_db_password";
$dbname = "your_DB_name";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT Brand FROM Transport WHERE Type = 'car'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Brand: " . $row["Brand"];
}
} else {
echo "0 results";
}
$conn->close();
?>
注意: mysqli 的面向对象方式,您也可以使用程序方式连接并获取数据。