Jump to content

[Resolvido] Funções mysql_* avisam que não recebem um valid Link resource


Recommended Posts

Posted (edited)

Boas pessoal... É o seguinte

Visto que não consigo aceder remotamente á minha base de dados que tenho online fiz um pequeno script simples...

Mas o problema é o seguinte

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a6134823/public_html/site/api/CheckIfUsed.php on line 17

PHP Error Message

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/a6134823/public_html/site/api/CheckIfUsed.php on line 24

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key='333531303330313333333337323732343035353033303036303932363135304332383744323' at line 1

Código

<?php
include("/home/a6134823/settings/dbsettings.php");
$chave=$_GET['key'];
$uid=$_GET['UID'];
$pcn=$_GET['pcn'];
$msno=$_GET['msno'];
$name=$_GET['name'];
$app_name=$_GET['appname'];
$email=$_GET['email'];
$usr=$_GET['usrname'];
ob_start();
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM app_reg WHERE key='$chave'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
echo "key_in_use";
}
else {
$sql="insert into app_reg (uid,pcn,msno,email,name,usrname,key,app_name)values('$uid','$pcn','$msno','$email','$name','$usr','$chave','$app_name')";

   $result=mysql_query($sql,$conn) or die(mysql_error());
echo "app_reg_comp";
}
ob_end_flush();
?>

Penso que não haverá problema em dois dos valores conterem mais de 200 caracteres visto que defeni isso na base dados

Edited by brunoais
título alterado
Posted

O teu problema está aqui:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key='333531303330313333333337323732343035353033303036303932363135304332383744323' at line 1

Isto é, por algum motivo, o MySQL não gosta da tua query. E que motivo é esse? Neste caso, é simples: KEY é uma palavra reservada do MySQL e, como tal, não pode ser usada às três pancadas numa query; tens que colocar backticks à volta dela:

// ...
$sql="SELECT * FROM app_reg WHERE `key`='$chave'";
// ...
  • Vote 1

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Posted

O teu problema está aqui:

Isto é, por algum motivo, o MySQL não gosta da tua query. E que motivo é esse? Neste caso, é simples: KEY é uma palavra reservada do MySQL e, como tal, não pode ser usada às três pancadas numa query; tens que colocar backticks à volta dela:

// ...
$sql="SELECT * FROM app_reg WHERE `key`='$chave'";
// ...

De facto resolveu a primeira query

A continuo com este erro

PHP Error Message

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/a6134823/public_html/site/api/CheckIfUsed.php on line 24

e já usei estas duas querys

 
//...
$sql="insert into app_reg (uid,pcn,msno,email,name,usrname,key,app_name)values('$uid','$pcn','$msno','$email','$name','$usr','$chave','$app_name')";

//...
//...
$sql="insert into app_reg (uid,pcn,msno,email,name,usrname,`key`,app_name)values('$uid','$pcn','$msno','$email','$name','$usr','$chave','$app_name')";
//...
Posted

Onde é que a variável $conn está definida? No dbsettings.php? O erro queixa-se que essa variável não é um resource de ligação válido. Mostra o código onde atribuis essa variável.

  • Vote 1

"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Posted

Onde é que a variável $conn está definida? No dbsettings.php? O erro queixa-se que essa variável não é um resource de ligação válido. Mostra o código onde atribuis essa variável.

Já resolvi... esqueci-me de declarar a $conn pois copiei parte do script de outras páginas que já tinha feito

Obrigado pela ajuda 😉

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.