Вот пример текущего PHP-кода, который у меня есть. Я просто хочу получить одну строку из таблицы, но она возвращает эту ошибку:
Call to a member function fetch_assoc() on a non-object
Любое понимание будет оценено.
$pathname = "C:\Users\BL\Documents\GitHub\Moozik\music";
$files = scandir($pathname);
$server = "localhost";
$user = "root";
$pass = "";
while ($files[0] == "." || $files[0] == "..") {
array_shift($files);
}
print_r($files);
$song = $pathname . '\\' . $files[0];
$conn = new mysqli($server, $user, $pass);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT song_path FROM song_data";
$result = mysqli_query($conn, $sql);
while($row = $result->fetch_assoc()) {
$its = $row["song_path"];
printf($its);
}
mysqli_close($conn);
Точка 1:
You have mixed mysqli Object-oriented and Procedural methods...Use any one
Пункт 2:
$conn = new mysqli($server, $user, $pass);
// Here You missed database to be selected
Пункт 3:
$result = mysqli_query($conn, $sql); // Used procedural method But Connection is by Object Oriented method
вот полный объектно-ориентированный метод
$conn = new mysqli($server, $user, $pass, $database);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT song_path FROM song_data";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
$its = $row["song_path"];
echo $its;
}$conn->close();
Ты можешь использовать
$row=mysqli_fetch_array($result)
Вам даже не нужно использовать какое-то время, так как вы хотите получить только один ряд. Если вы хотите получить более одного ряда, то вы можете использовать время.
Вы можете использовать это.
$row=mysqli_fetch_row($result)
Он выберет одну строку из набора результатов.
Надеюсь, это поможет.