Aşağıdaki kod bloğu çalışıyor (hiç hata)
$query = "select * from users where username = ?";
$statement = $sql->prepare($query);
echo gettype($statement); // -- This returns 'object'
$statement->bindParam(1, $username);
The following gives: Fatal error: Call to a member function bindParam() on a non-object in /file.php on line 39
$email = 'fake@email.com';
$query = "select * from users where email = ?";
$statement = $sql->prepare($query);
echo gettype($statement); // -- this returns 'boolean'
$statement->bindParam(1, $email); // -- this is line 39.
Şimdi bu garip.
Benim yerel makine ve benim uzak ana, bu bir sorun değildi.
Bu hatalar sadece ben ay için çalışıyorum bu yeni hosting şirketi üzerinde gösterir. Onlar php derlenmiş zaman bir yapılandırma param olabilir mi?
--------edit-------- While still trying to figure out what's wrong,I found this out.
$query = "select userID, username from users";
$statement = $sql->prepare($query);
$statement->execute();
$r = $statement->fetchAll(PDO::FETCH_ASSOC);
// display # of rows
echo "Rows returned: " . $statement->rowCount();
// display results array
echo '<pre>'; print_r($r); echo '</pre>';
Bir sunucu üzerinde, ben olsun
Rows returned: 4
Array
(
[0] => Array
(
[userID] => 1
[username] => lyrae
)
[1] => Array
(
[userID] => 2
[username] => jproffer
)
[2] => Array
(
[userID] => 3
[username] => king
)
[3] => Array
(
[userID] => 4
[username] => gergy
)
)
Hangisi doğru. 4 satır döndü ve sonuç dizi görüntüler diyor. Başka bir sunucu üzerinde ancak ben almak
Rows returned: 0
Array
(
[0] => Array
(
[userID] => 1
[username] => lyrae
)
[1] => Array
(
[userID] => 2
[username] => jproffer
)
[2] => Array
(
[userID] => 3
[username] => king
)
[3] => Array
(
[userID] => 4
[username] => gergy
)
)
Böylece, bu PDOStatement :: rowCount () bir sever çalışmıyor da görünüyor ama başka çalışır.