Articles of pdo

Como espremer mensagem de erro de PDO?

Não consigo receber nenhuma mensagem de erro da DOP: #$dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ); try { $sth = $dbh->prepare(‘@$%T$!!!’); print_r($sth); print_r($dbh->errorInfo()); } catch (PDOException $e) { echo $e->getMessage(); } Está dando apenas: PDOStatement Object ( [queryString] => @$%T$!!! ) Array ( [0] => 00000 [1] => [2] => ) setAttribute não ajuda nada. É PHP 5.3.3 […]

Como aplicar o método bindValue na cláusula LIMIT?

Aqui está um instantâneo do meu código: $fetchPictures = $PDO->prepare(“SELECT * FROM pictures WHERE album = :albumId ORDER BY id ASC LIMIT :skip, :max”); $fetchPictures->bindValue(‘:albumId’, $_GET[‘albumid’], PDO::PARAM_INT); if(isset($_GET[‘skip’])) { $fetchPictures->bindValue(‘:skip’, trim($_GET[‘skip’]), PDO::PARAM_INT); } else { $fetchPictures->bindValue(‘:skip’, 0, PDO::PARAM_INT); } $fetchPictures->bindValue(‘:max’, $max, PDO::PARAM_INT); $fetchPictures->execute() or die(print_r($fetchPictures->errorInfo())); $pictures = $fetchPictures->fetchAll(PDO::FETCH_ASSOC); eu recebo Você tem um erro na […]

Referência – perguntas frequentes sobre DOP

O que é isso? Esta é uma lista de perguntas frequentes sobre objects de dados PHP Por que é isso? Como a PDO tem alguns resources desconhecidos para um usuário regular do PHP, as perguntas sobre declarações preparadas e o tratamento de erros em DOP são bastante frequentes. Então, este é apenas um lugar onde […]

As declarações da PDO são suficientes para evitar a injeção de SQL?

Digamos que eu tenho um código como este: $dbh = new PDO(“blahblah”); $stmt = $dbh->prepare(‘SELECT * FROM users where username = :username’); $stmt->execute( array(‘:username’ => $_REQUEST[‘username’]) ); A documentação da DOP diz: Os parâmetros para as declarações preparadas não precisam ser citados; O driver controla isso para você. Isso é realmente tudo o que eu […]

mysqli ou DOP – quais são os prós e os contras?

Em nosso lugar, estamos divididos entre usar mysqli e PDO para coisas como demonstrações preparadas e suporte de transactions. Alguns projetos usam um, outro o outro. Existe pouca probabilidade real de nos mudar para outro RDBMS. Eu prefiro PDO pela única razão que permite parâmetros nomeados para declarações preparadas, e na medida em que eu […]

Posso ligar uma matriz a uma condição IN ()?

Estou curioso para saber se é possível vincular uma série de valores a um marcador de posição usando DOP. O caso de uso aqui está tentando passar uma série de valores para uso com uma condição IN() . Eu não sou muito bom em explicar, então aqui está um psuedocode para demonstrar. Gostaria de poder […]

Minha Declaração PDO não funciona

Esta é a minha declaração PHP sql e está retornando falso enquanto var dumping $password_md5 = md5($_GET[‘password’]); $sql = $dbh->prepare(‘INSERT INTO users(full_name, e_mail, username, password, password_plain) VALUES (:fullname, :email, :username, :password, :password_plain)’); $result = $sql->execute(array( ‘:fullname’ => $_GET[‘fullname’], ‘:email’ => $_GET[’email’], ‘:username’ => $_GET[‘username’], ‘:password’ => $password_md5, ‘:password_plain’ => $_GET[‘password’]));

As declarações PDO do PHP podem aceitar o nome da tabela ou da coluna como parâmetro?

Por que não posso passar o nome da tabela para uma declaração PDO preparada? $stmt = $dbh->prepare(‘SELECT * FROM :table WHERE 1’); if ($stmt->execute(array(‘:table’ => ‘users’))) { var_dump($stmt->fetchAll()); } Existe outra maneira segura de inserir um nome de tabela em uma consulta SQL? Com segurança, quero dizer que não quero fazer $sql = “SELECT * […]

Limpar Senhas de Usuário

Como faço para escaping ou limpar as senhas fornecidas pelo usuário antes de as ter e armazená-las no meu database? Quando os desenvolvedores do PHP consideram as senhas dos usuários do hashing para fins de segurança, muitas vezes eles tendem a pensar nessas senhas como se fossem outros dados fornecidos pelo usuário. Este assunto aparece […]

Posso misturar MySQL APIs em PHP?

Eu procurei na net e até agora o que eu vi é que você pode usar mysql_ e mysqli_ juntos, o que significa: ou São válidos, mas quando uso este código, o que recebo é: Connected Warning: mysql_close() expects parameter 1 to be resource, object given in D:\************.php on line 9 Done Para o primeiro […]