В классе, у меня есть PDO:Это PDO оператор возвращает целое число вместо строки
$userFName = 'userFName';
include('dbconnect.php'); // Normally I'd store the db connect script outside of webroot
$pdo = new PDO("mysql:host=$db_host;dbname=$db_name;", $db_user, $db_password);
$stmt = $pdo->prepare('SELECT userFName FROM Users WHERE username = :uname AND password = :pword AND roleID = 1');
$stmt->bindParam(':uname', $this->user->username);
$stmt->bindParam(':pword', $this->user->password);
$stmt->bindColumn(4, $userFName, PDO::PARAM_STR);
$stmt->execute();
$familiar = $stmt->fetch(PDO::FETCH_BOUND);
$this->user->firstName = $familiar;
Это возвращающегося идентификатор в первом столбце вместо содержимого VARCHAR в 4-м столбце. Любая идея почему?
Как я вижу только 1 колонка в вашем результирующем Я удивлен, что вы получите _anything в all_? И разве вы не просто устанавливаете '$ this-> user-> firstName' в' true' (результат 'FETCH_BOUND') и видите, что как в 1 при нажатии на строку или int? – Wrikken
Похоже, вы выбираете один столбец и привязываетесь к четвертому столбцу (несуществующий). Не должно быть '$ stmt-> bindColumn (1, $ userFName, PDO :: PARAM_STR);'? – showdev
У меня был SELECT *, и он сделал то же самое. – mishmomo