JoseDroid Posted August 30, 2020 at 06:15 PM Report #619236 Posted August 30, 2020 at 06:15 PM Boas malta tenho este código feito para verificar se o utilziador está ou não registado na base de dados, mas este código da-me erro ao utilizar alguem me pode ajudar ? dá erro na parte do "mysql_num_rows()" e na parte do " $result = "SELECT * FROM `utilizadores` WHERE `id` = '$login' AND `pass`= '$pass'";" o código é este: <?php session_start(); $login = $_POST['login']; $pass = $_POST['pass']; include ('conexao.php'); // A variavel $result pega as varias $login e $senha, faz uma $result = "SELECT * FROM `utilizadores` WHERE `id` = '$login' AND `pass`= '$pass'"; if(mysql_num_rows($result) > 0 ) { $_SESSION['login'] = $login; $_SESSION['pass'] = $pass; header('location:site.php'); } else{ unset ($_SESSION['login']); unset ($_SESSION['pass']); header('location:index.php'); } ?> Ajudem por favor 😉
Cerzedelo Posted August 31, 2020 at 08:45 AM Report #619237 Posted August 31, 2020 at 08:45 AM Sem conhecer a versão do PHP que está a utilizar o procedimento mysql_num_rows está DEPRECATED, sendo inclusive removida da versão 7 do PHP. Por isso é aconselhável mudar para o mysqli ou o pdo. Ver: https://www.php.net/mysql_num_rows Sem mais indicações de qual será o erro, se dá erro na query é mornal que vá dar erro na condição do mysql_num_rows. Pelo que convém investigar a query, pode retirar o sinal ` que delimita os nomes dos campos porque não são necessários, ex. `id` e em seguida em vez de passar as variáveis, atribua manualmente o valor à mesmas, por exemplo id='1234' . Se a query funcionar com este procedimento significa que o erro é na passagem dos valores das variáveis. Se tiver instalado o phpmyadmin ou outro gestor da base de dados, tente correr a query no gestor e verificar se ocorrem erros e verifique na query se o nome dos campos estão presentes na base de dados e se têm o mesmo nome. Não se esqueça de verificar se eventualmente a conexão à base de dados se está a fazer correctamente. 1 Report
JoseDroid Posted September 1, 2020 at 09:02 PM Author Report #619253 Posted September 1, 2020 at 09:02 PM Não consigo entender o erro...
Cerzedelo Posted September 2, 2020 at 07:36 AM Report #619254 Posted September 2, 2020 at 07:36 AM 10 horas atrás, JoseDroid disse: Não consigo entender o erro... Sem a indicação clara do erro torna-se difícil ajudar. Vá ao modo programador ou ferramentas de programação do seu browser, normalmente tecla F12, e no modulo Consola ou Rede tente ver se dá a indicação de qual o erro. Caso contrário terá de ir por tentativa erro, pode começar por retirar a cláusula Where da query e ver o resultado, se funcionou o problema está na referida cláusula, depois retire o AND e a pass e veja o que acontece, o problema pode estar aí. Teste o seguinte script, com as devidas alterações para o seu código, para verificar se a conexão à base de dados está a ser bem feita. <?php $con = mysql_connect("localhost", "peter", "abc123"); if (!$con) { die('Could not connect: ' . mysql_error()); } $db_selected = mysql_select_db("test_db",$con); $sql = "SELECT * FROM person"; $result = mysql_query($sql,$con); echo mysql_num_rows($result); mysql_close($con); ?> Tente também utilizar o phpmyadim ou outro sistema para testar a query, abra o modo SQL, e copie a query SELECT a partir do seu código para o referido modo e retire os delimitadores " " e teste e altere até obter resultados, depois copia a query para o seu código. Em principio a query estará a funcionar, se não tiver nenhum resultado tal significa erro na conexão ou n instrução do mysql_num_rows
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now