Этот код ниже не возвращает никакого значения в мою переменную $result
. Соединение с базой данных является хорошим. Но он не возвращает никаких значений для переменной $result
.Проблемы с выполнением mySQL-запроса с PDO
У меня есть данные в таблице player
и есть player_id
значение 1 и 2 в указанной таблице.
Распечатка эха при запуске - это. при передаче целых чисел 1 и 2 в функцию.
базы данных подключен
SELECT *
FROM player
WHERE player_id = 1
Результаты не массив.
базы данных подключен
SELECT *
FROM player
WHERE player_id = 2
Результаты не массив.
function displayName($player_id)
{
// setting database variables
$dsn = 'mysql:dbname=dbName;host=localhost';
$username = "username";
$password = "password";
// try to make connection
try
{
$conn = new PDO($dsn, $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Database connected <br>";
}
catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
// create, print, and execute the query
$sql = "SELECT * FROM player WHERE player_id = $player_id";
echo "$sql <br>";
$result = $conn->query($sql);
//if the query returned an array
if (is_array($result))
{
// if the array has data
if ($result->num_rows > 0)
{
Echo "Result is an array and has values. <br>";
Echo "$result[0] $result[1]. <br>";
return $result;
}
else
{
echo "No results. <br>";
}
}
else
{
echo "Results not an array. <br>";
}
//close the database connection.
$conn = null;
}
'var_dump ($ результат);' - что это производит? –
объект (PDOStatement) # 2 (1) {["queryString"] => строка (40) "SELECT * FROM player WHERE player_id = 1"} –