致命错误:在第9行调用未定义的方法PDO :: select()

致命错误:在第9行调用未定义的方法PDO :: select()

问题描述:

something strange has happened to my site. Everything was working perfect, and now i'm getting this error when i'm trying to log in:

Fatal error: Call to undefined method PDO::select() in line 9

Here is my code:

<?php
$db = new PDO('mysql:host=****;dbname=******;charset=utf8', '*****', '*****');

if($_SERVER["REQUEST_METHOD"] == "POST")
{
// username and password sent from Form
$myusername = $_POST['username'];
$mypassword = $_POST['password'];
$result = $db->select("SELECT userID FROM miembros WHERE user='$myusername' and  pass='$mypassword' AND confirm IS NULL");
$row = $result->fetch(PDO::FETCH_ASSOC);
$count = $result->rowCount();
// code continues
?>

What i am doing wrong at line 9 and $db?

我的网站发生了一些奇怪的事情。 一切都很完美,现在我正在尝试登录时收到此错误: p>

致命错误:在第9行调用未定义的方法PDO :: select()

这是我的代码: p>

 &lt;?php 
 $ db = new PDO('mysql:host = ****  ; dbname = ******; charset = utf8','*****','*****'); 
 
if($ _ SERVER [“REQUEST_METHOD”] ==“POST”)  
 {
 //从Form 
 $ myusername = $ _POST ['username']发送的用户名和密码; 
 $ mypassword = $ _POST ['password']; 
 $ result = $ db-&gt; select  (“SELECT userID FROM miembros WHERE user ='$ myusername'and pass ='$ mypassword'ENf确认IS NULL”); 
 $ row = $ result-&gt; fetch(PDO :: FETCH_ASSOC); 
 $ count =  $ result-&gt; rowCount(); 
 //代码继续
?&gt; 
  code>  pre> 
 
 

我在第9行和$ db做错了什么? div>

You want to use PDO::prepare to prepare a statement which you then execute

  $db = new PDO('mysql:host=****;dbname=******;charset=utf8', '*****', '*****');

  if($_SERVER["REQUEST_METHOD"] == "POST")
  {
    // username and password sent from Form
    $prepared = array(
      'username' => $_POST['username'],
      'password' => $_POST['password']);
    $stmt = $db->prepare("SELECT userID FROM miembros WHERE user=:username and  pass=:password AND confirm IS NULL");
    $result = $stmt->execute($prepared);
    $row = $result->fetch(PDO::FETCH_ASSOC);
    $count = $result->rowCount();
  }