Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ta dando esse erro e eu nao tenho ideia de como arrumar. Alguem da uma luz pf
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/u572453808/public_html/eventos.php on line 232
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/u572453808/public_html/eventos.php on line 239
Script:
$cmd = "SELECT * FROM test WHERE client <> '1' ORDER BY test DESC, test2 DESC" or die("<script>alert('ERROR404.*Server'); history.back();</script>");
$eventos = mysql_query($cmd);
$total = mysql_num_rows($eventos);
$registros = 50;
$numPaginas = ceil($total/$registros);
$inicio = ($registros*$pagina)-$registros;
$cmd = "select * FROM test WHERE client <> '1' ORDER BY test DESC, test2 Desc limit $inicio,$registros" or die("<script>alert('ERROR404.*Server'); history.back();</script>");
$eventos = mysql_query($cmd);
$total = mysql_num_rows($eventos);
while ($evento = mysql_fetch_array($eventos)) {Como disse o Caio Baracat, a função die normalmente usa-se como contraponto à execução de um comando e não quando se está a especificar a consulta em si.
Para além disso, ao colocar o valor entre '' estás a dizer que o ID do client é uma string, o que, tendo em conta que o valor em si (1) é numérico, não faz muito sentido. Pode estar aí o problema, pois o aviso diz que a consulta falhou.
Finalmente, a extensão mysql já foi descontinuada, pelo que se aconselha a utlização de MySQLi ou PDO para acesso a bases de dados.
Linha 232:
$total = mysql_num_rows($eventos);
Linha 239:
while ($evento = mysql_fetch_array($eventos)) {
Já testaste a consulta directamente no MySQL (phpMyAdmin, por exemplo)? O mais provável é que a consulta não esteja a ser feita correctamente.
mysql_error() deve ser usado junto a mysql_query, não à string da SQL
O seu problema é que a query falhou e retornou FALSE. Explico melhor sobre isso neste link
PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/
usei um codigo igual com
SELECT * FROM news1 ORDER BY id
$pagina = (isset($_GET['pagina']))? $_GET['pagina'] : 1;
$pagina = preg_replace('/[^[:digit:]_]/', '',$pagina);
if(empty($pagina)){
echo "<script>alert('ERROR404'); history.back();</script>";exit;}else{
MYSQL_SELECT_DB("u572453808_site", $site);
$cmd = "SELECT * FROM news1 ORDER BY id";
$eventos = mysql_query($cmd);
$total = mysql_num_rows($eventos);
$registros = 25;
$numPaginas = ceil($total/$registros);
$inicio = ($registros*$pagina)-$registros;
$cmd = "select * FROM news1 ORDER BY id Desc limit $inicio,$registros";
$eventos = mysql_query($cmd);
$total = mysql_num_rows($eventos);
while ($evento = mysql_fetch_array($eventos)) {
Pq ta dando erro com essa?Pq ta dando erro com essa?
Se não fizer o debug com mysql_error, como já orientamos, nunca saberemos... :)
a eu pensei que
ini_set ('display_errors', true); error_reporting(E_ALL);
ia mostrar os erros delas tbm. Ta falando que eu nao selecionei a db. sendo que ja tem
MYSQL_SELECT_DB("u572453808_serve", $serve);
como eu faço pra colocar a $serve la dentro da formula? se eu colocar assim buga tudo.
mysql_query("SELECT * FROM test WHERE client <> '1' ORDER BY test DESC, test2 DESC", $serve) or exit(mysql_error());O que o Beraldo tá dizendo para você fazer é isso:
$pagina = (isset($_GET['pagina']))? $_GET['pagina'] : 1;
$pagina = preg_replace('/[^[:digit:]_]/', '',$pagina);
if(empty($pagina)) {
echo "<script>alert('ERROR404'); history.back();</script>";
exit;
} else {
// Utilize o mysql_error() para verificar se houve algum erro aqui...
mysql_select_db("u572453808_site", $site) or die('Erro ao selecionar o banco de dados: '.mysql_error());
// Utilize o mysql_error() para verificar se houve algum erro aqui também...
$cmd = "SELECT * FROM news1 ORDER BY id";
$eventos = mysql_query($cmd) or die('Erro na consulta: '.mysql_error());
$total = mysql_num_rows($eventos);
$registros = 25;
$numPaginas = ceil($total/$registros);
$inicio = ($registros*$pagina)-$registros;
// Utilize o mysql_error() para verificar se houve algum erro aqui também...
$cmd = "select * FROM news1 ORDER BY id Desc limit $inicio,$registros";
$eventos = mysql_query($cmd) or die('Erro na consulta: '.mysql_error());
$total = mysql_num_rows($eventos);
while ($evento = mysql_fetch_array($eventos)) {
[...]Usei o codigo:
$pagina = (isset($_GET['pagina']))? $_GET['pagina'] : 1;
$pagina = preg_replace('/[^[:digit:]_]/', '',$pagina);
if(empty($pagina)) {
echo "<script>alert('ERROR404'); history.back();</script>";
exit;
} else {
// Utilize o mysql_error() para verificar se houve algum erro aqui...
mysql_select_db("u572453808_site", $site) or die('Erro ao selecionar o banco de dados: '.mysql_error());
// Utilize o mysql_error() para verificar se houve algum erro aqui também...
$cmd = "SELECT * FROM news1 ORDER BY id";
$eventos = mysql_query($cmd) or die('Erro na consulta: '.mysql_error());
$total = mysql_num_rows($eventos);
$registros = 25;
$numPaginas = ceil($total/$registros);
$inicio = ($registros*$pagina)-$registros;
// Utilize o mysql_error() para verificar se houve algum erro aqui também...
$cmd = "select * FROM news1 ORDER BY id Desc limit $inicio,$registros";
$eventos = mysql_query($cmd) or die('Erro na consulta: '.mysql_error());
$total = mysql_num_rows($eventos);
while ($evento = mysql_fetch_array($eventos)) {
[...]Erro na consulta: No database selected
No site aparentimente somente a querys feitas assim estao funfando:
mysql_query(" ", $serve) or exit(mysql_error());
Onde você cria $site e qual é o valor dela?
O que pode estar acontecendo é que $site é um link de conexão, mas mysql_query está usando outro link que não teve seleção de banco de dados
PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/
Desculpe mas eu estava usando a $serve no caso esqueci de alterar no post.
require_once ('engine/script/config.php');
Isso no config:
<?php
$serve = mysql_connect("mysql.hostinger.com.br", "u572453808_serve", "") or die ("<script>alert('*Server'); history.back();</script>");
$logs = mysql_connect("mysql.hostinger.com.br", "u572453808_logs", "") or die ("<script>alert('*Logs'); history.back();</script>");
$shopa = mysql_connect("mysql.hostinger.com.br", "u572453808_shopa", "") or die ("<script>alert('*Shop-A'); history.back();</script>");
$site = mysql_connect("mysql.hostinger.com.br", "u572453808_site", "") or die ("<script>alert('*Site'); history.back();</script>");
?>Se você tem mais de uma conexão, precisa especificar qual delas vai usar em mysql_query (segundo parâmetro). Caso contrário, será usada a última conexão aberta
Mas no caso nao da pra colocar isso na linha que precisa de conexão.
, $serve
E se eu fechar a ultima conexão aberta e colocar a conexão da que eu quero? Isso funciona nos scripts de varias conexões?
mysql_select_db("u572453808_serve", $serve) or die('Erro ao selecionar o banco de dados: '.mysql_error());
Eu achava que por eu estar atribuindo o mysqlconect em uma string, ela ia conecta so quando eu chama-se essa string.
mysql_connect abre uma conexão. Se você abrir 4, haverá 4 conexões abertas. E você precisará dizer qual deseja usar
A conexão só é fechada ao chamar mysql_close ou quando o script encerrar. Enquanto isso, todas as conexões estarão abertas
Tem erro na sua query. Joga ela no Workbench ou no Phpmyadmin e testa.
Não sei ao certo se o "or die()" pode ser usado numa variável da query, então pode ser isso, também. Tente colocar estes comandos depois do mysql_query(), talvez funcione.