我编写了一个带有数据库连接的PHP脚本,它看起来工作正常。
我遇到的问题是使用SELECT语句从数据库中获取值并将这些值赋给PHP变量。
这是我的桌子:
php - MySQLi选择到PHP变量-LMLPHP
如果我将SQL复制到PHPMyAdmin中,就会得到正确的结果,因此我信任查询本身。
如果我写下:

echo $result;

我做错什么了?
这是我的全部代码:
<?php
$servername = "XXXXXX";
$username = "XXXXXX";
$password = "XXXXX";
$dbname = "XXXXXX";


// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$test_code = $_GET['code'];
$product_name = $_GET['product'];


// sql to create table
$sql = "CREATE TABLE IF NOT EXISTS code_ever (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
produkt VARCHAR(50) NOT NULL,
code VARCHAR(30) NOT NULL
)";

if ($conn->query($sql) === TRUE) {

} else {

}

// sql to create table
$sql = "CREATE TABLE IF NOT EXISTS code_scanned (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
produkt VARCHAR(50) NOT NULL,
code VARCHAR(30) NOT NULL
)";

if ($conn->query($sql) === TRUE) {

} else {

}

$query  = "SELECT code FROM code_ever WHERE code = 'XKBKNABJK'";
$result = mysqli_query($conn, $query);

if($result)
{

echo $result;

}
else
{

echo("Sorry:".mysqli_error($conn));

}

$conn->close();
?>

最佳答案

你得去拿结果。

$query = "SELECT code FROM code_ever WHERE code = 'XKBKNABJK'";

    if ($result = mysqli_query($conn, $query)) {

        /* fetch associative array */
        while ($row = mysqli_fetch_assoc($result)) {
            echo $row["code"];
        }

        /* free result set */
        mysqli_free_result($result);
    }

http://php.net/manual/en/mysqli-result.fetch-assoc.php
除了获取结果之外,还应该重新设计表。每个“表单元格”不能有多个值。例如,产品的大小/颜色等有逗号分隔的值。您应该将这些属性作为单独的属性放在表中,或者甚至放在单独的表中。
例子:
php - MySQLi选择到PHP变量-LMLPHP

10-07 14:41