Heim  >  Artikel  >  Backend-Entwicklung  >  pdo 与mysql 的有关问题,

pdo 与mysql 的有关问题,

WBOY
WBOYOriginal
2016-06-13 13:10:49804Durchsuche

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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn