Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Nunca deu esses erros, agora da o seguinte erro quando executo uma query e vejo a quantidade de resultados com mysql_num_rows.
>
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/public_html/refer.php on line 10
O código:
include('conexao.php');
if(isset($_GET['ref'])){
$codigo_referencial = mysql_real_escape_string($_GET['ref']);
$sqlip = mysql_query("SELECT * FROM ips WHERE codigo = '$codigo_referencial'");
$sqlip_result = mysql_num_rows($sqlip);
if($sqlip_result == 1){
$ln = mysql_fetch_array($sqlip);
$referencia - $ln['referencias'];
echo $referencia;
}
}else{
header("Location: index.php");
}
Porque esse erro? '-'
>
Isso ocorre pois mysql_query retornou false (boolean) em vez de um resource. Execute desta forma para exibir o erro da consulta:
$sqlip = mysql_query("SELECT * FROM ips WHERE codigo = '$codigo_referencial'") or exit( mysql_error() );
PS: funções mysql_* estão obsoletas. Considere utilizar PDO.
Achei o erro, inseri a mesma coisa que voce disse, é que não existia a coluna código. O nome da coluna que eu estava a procura era URL. Quebrei a cabeça pra mim ver isso kk.
PS: Não utilizo PDO, porque eu sei la, e estou querendo migrar para mysqli, mas ainda a poucos tutoriais dessa função, por isso estou esperando ela se popularizar.
PS: Não utilizo PDO, porque eu sei la, e estou querendo migrar para mysqli, mas ainda a poucos tutoriais dessa função, por isso estou esperando ela se popularizar.
Pra quem já conhece mysql_* e o básico de OOP, é bem simples usar a classe nativa mysqli. Falei sobre ela aqui: http://rberaldo.com.br/a-extensao-mysqli-do-php/
Mas acho que é mais vantajoso usar PDO. Além de mais recente, é uma camada abstrata. Ou seja, se um dia resolver migrar para PostgreSQL, por exemplo, basta alterar a conexão com o banco, sem precisar mexer no resto do código. :thumbsup:
>
Pra quem já conhece mysql_* e o básico de OOP, é bem simples usar a classe nativa mysqli. Falei sobre ela aqui: http://rberaldo.com.br/a-extensao-mysqli-do-php/
Mas acho que é mais vantajoso usar PDO. Além de mais recente, é uma camada abstrata. Ou seja, se um dia resolver migrar para PostgreSQL, por exemplo, basta alterar a conexão com o banco, sem precisar mexer no resto do código. :thumbsup:
Mas utilizando Mysqli eu so precisaria mudar a conexao, o resto do código continua normal?
Mas utilizando Mysqli eu so precisaria mudar a conexao, o resto do código continua normal?
Não exatamente.
Veja:
mysqli é uma extensão do PHP para trabalhar, exclusivamente, com MySQL. Ou seja, se mudar pra outro SGBD, terá de largar as funções mysqli e alterar todo o código.
PDO é uma interface do PHP para trabalhar com abstração de bancos de dados. Com PDO, é possível usar MySQL, PostgreSQL e vários outros SGBDs. Nesse caso, se mudar de SGBD, as mudanças serão mínimas: conexão com o banco e, talvez, alguns detalhes na sintaxe das consultas SQL
Isso ocorre pois mysql_query retornou false (boolean) em vez de um resource. Execute desta forma para exibir o erro da consulta:
PS: funções mysql_* estão obsoletas. Considere utilizar PDO.