Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, por favor, porque isso ocorre?
//Tabela simplificada:
User varchar(30) PK-U
Email varcahr(50)
Telefone varchar(16)
Password varchar(10)
//PHP
$User = @$_GET['User'];
$link = mysql_connect(...OK
$db_selected = mysql_select_db(...OK
$result = mysql_query("SELECT * FROM contatos WHERE User=$User");
$row = mysql_fetch_array($result, MYSQL_NUM);
$temp = $row[0] . &row[1]; //só teste
printf("%s",$temp); //só teste
Pergunta:
Se o user se chama 123 (numérico !!?) /busca.php?User=123 TUDO FUNCIONA, o registro é retornado.
Se o User se chama Nico (alfa) /busca.php?User=nico :
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Line 49
Debug querry: Unknown column 'nico' in 'where clause'
Ok Obrigado,
assim funcionou:
WHERE User='$User'")
strings devem ser tratadas diferentes de números.
Veja o código abaixo:
No seu caso, o código segue as mesmas regras.
Mas, seu código, possui uma falha de segurança e utiliza funções não recomendadas (mysql_* functions).
As funções devem ser substituídas por MySQLi ou PDO. Em qualquer caso de escolha, a falha de segurança é resolvida através de prepared statements. E, nesse caso, o tratamento para a tipagem de dados é realizada pelo SGBD. Ou seja, você não precisa se preocupar.
Caso de positional parameters (MySQLi e PDO)
ou, no caso de named parameters (somente PDO):