Home  >  Article  >  Backend Development  >  pdo 与mysql 的有关问题,

pdo 与mysql 的有关问题,

WBOY
WBOYOriginal
2016-06-13 13:10:49799browse

pdo 与mysql 的问题,请教高手?
程序在window下正常,然而在linux下,
register:
public function Insert($input) {

$time = time ();

$sql = " INSERT INTO " . __DB_PREFIX__ . "member(
`email`, 
`password`, 
`secrecy_email`, 
`lock`, 
`add_time`,
`last_login_time`
)VALUES(
'" . $input ['name'] . "',
'" . md5 ( $input ['password'] ) . "',
'" . $input ['email'] . "',
0,
" . $time . ",
" . $time . "
)";

$stmt = $this->prepare ( $sql );

if (! $stmt->execute ()) {
throw new Exception ( join ( ' ', $stmt->errorInfo () ) );
}
 }
这个方法好用,但是:
public function Account($name, $password) {

$sql="select member_id from gm_member where email='mygirl' and password='25d55ad283aa400af464c76d713c07ad'"; 
//$sql = "SELECT member_id FROM " . __DB_PREFIX__ . "member WHERE email='" . $name . "' AND password='" . $password . "'";
//$sth = $this->prepare ( $sql );
//$sth->execute ();
$stmt = $this->prepare ( $sql );
   
  if (! $stmt->execute ()) {
  throw new Exception ( join ( ' ', $stmt->errorInfo () ) );
  }
return ($stmt->rowCount () == 1) ? true : false;
 
}
}
这个法就不能用,为什么呢?
也就是说insert是可以的,但是用select 的时,就查不出来 了,在mysql 中用$sql这条语句测试是有结果的

请高手分析下,是什么原因导致的??

------解决方案--------------------
有没有报错呢?
------解决方案--------------------

PHP code

public function Account($name, $password) {

$sql="select member_id from gm_member where email='mygirl' and password='25d55ad283aa400af464c76d713c07ad'";
//$sql = "SELECT member_id FROM " . __DB_PREFIX__ . "member WHERE email='" . $name . "' AND password='" . $password . "'";
//$sth = $this->prepare ( $sql );
//$sth->execute ();
$stmt = $this->prepare ( $sql );
       
        if (! $stmt->execute ()) {
            throw new Exception ( join ( ' ', $stmt->errorInfo () ) );
        }
[color=#FF0000]$result = $stmt->fetch(PDO_FETCH_ASSOC);
print_r($result);[/color]看看有结果不!
return ($stmt->rowCount () == 1) ? true : false;
     
}
}
<br><font color="#e78608">------解决方案--------------------</font><br>
PHP code

public function Account($name, $password) {

$sql="select member_id from gm_member where email='mygirl' and password='25d55ad283aa400af464c76d713c07ad'";
//$sql = "SELECT member_id FROM " . __DB_PREFIX__ . "member WHERE email='" . $name . "' AND password='" . $password . "'";
//$sth = $this->prepare ( $sql );
//$sth->execute ();
$stmt = $this->prepare ( $sql );
       
        if (! $stmt->execute ()) {
            throw new Exception ( join ( ' ', $stmt->errorInfo () ) );
        }
$result = $stmt->fetch(PDO_FETCH_ASSOC);
print_r($result);
return ($stmt->rowCount () == 1) ? true : false;
     
}
}
<br><font color="#e78608">------解决方案--------------------</font><br>
SQL code

$sql = "SELECT member_id FROM " . __DB_PREFIX__ . "member WHERE email=" . $name . " AND password'" . $password . "";
<br><font color="#e78608">------解决方案--------------------</font><br>
SQL code

$sql = "SELECT member_id FROM " . __DB_PREFIX__ . "member WHERE email=" . $name . " AND password=" . $password ;
 <div class="clear">
                 
              
              
        
            </div>
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn