Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
<?php
class conexao{
private $servidor = "localhost";
private $login = "root";
private $senha = "";
private $banco = "livro";
public function conexao(){
mysql_connect($this->servidor,$this->login,$this->senha);
}
public function selecionar(){
$sql = 'SELECT * FROM mensagem';
$rs = mysql_db_query($this->banco,$sql); // linha 14
while($row=mysql_fetch_object($rs)){ // linha 16
echo $row->nome."<br>";
}
}
}
$conn = new conexao();
$conn->selecionar();
?>
Desculpe-me por ter colado o codigo aqui, como é pequeno achei que não tinha problema.
O meu problema é o seguinte:
Na linha 14 se eu deixar do jeito que ta aparece uma menssagem dizendo que mysql_db_query() não se usa mais, porém aparece o resultado, mas se eu trocar para mysql_query() aparece este 2 erros:
Warning: mysql_query() expects parameter 2 to be resource, string given in C:\xampp\htdocs\phpobj\conexao.php on line 14
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\phpobj\conexao.php on line 16
Alguem poderia me ajudar por favor?
Obrigado pela atenção , porém deu mais erro agora:
Deprecated: Function mysql_db_query() is deprecated in C:\xampp\htdocs\phpobj\conexao.php on line 16
Warning: mysql_db_query() expects at least 2 parameters, 1 given in C:\xampp\htdocs\phpobj\conexao.php on line 16
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\phpobj\conexao.php on line 18
Já que você está aprendendo Orientação a Objeto, seria interessante aprender a trabalhar com PDO
EDIT:
Use mysql_query( )
Na verdade minha duvida é essa mesmo quando uso mysql_db_query() diz que é ultrapassado para a versao do php que eu uso, porem logo em baixo aparece os resultados do select, se eu usar o mysql_query() da mensagem de erro e não funciona nada.
Qual a sua versão do PHP?
Configure seu código para exibir TODAS as mensagens de erro, adicionando este código à primeira linha do script.
<?php
ini_set( 'display_errors', true );
error_reporting( E_ALL | E_STRICT );PHP Version 5.3.8
Voltei meu codigo como postado acima e declarei o que você disse sobre os erros e mandei exibir todos os erros e aparece:
Deprecated: Function mysql_db_query() is deprecated in C:\xampp\htdocs\phpobj\conexao.php on line 17
Deprecated: mysql_db_query() [function.mysql-db-query]: This function is deprecated; use mysql_query() instead in C:\xampp\htdocs\phpobj\conexao.php on line 17
Como disse no inicio aparece esse erro que diz que mysql_db_query() é ultrapassado, mas exibe o resuldado do select, se eu mudar para mysql_qury(), aparece este erro:
Warning: mysql_query() expects parameter 2 to be resource, string given in C:\xampp\htdocs\phpobj\conexao.php on line 17
Minha versão do PHP é a mesma que a sua.
Tente assim:
<?php
class conexao{
private $servidor = "localhost";
private $login = "root";
private $senha = "";
private $banco = "livro";
private $conn;
public function conexao(){
$this->conn = mysql_connect($this->servidor,$this->login,$this->senha);
mysql_select_db( $this->banco, $this->conn );
}
public function selecionar(){
$sql = 'SELECT * FROM `mensagem`';
$rs = mysql_query( $sql, $this->conn ); // linha 14
while($row=mysql_fetch_object($rs)){ // linha 16
echo $row->nome."<br>";
}
}
}
$conn = new conexao();
$conn->selecionar();Deu certo valeu e pelo que vi você declarou uma variavel $conn e juntou ela no codigo;
Isso mesmo, ela serve para armazenar o identificador de conexão MySQL.
Muito obrigado !
Não tem problema nenhum em colocar o código no post, apenas lembre de colocá-lo entre [ code ][ /code ] (sem os espaços).
Se o código for muito extenso, utilize [ spoiler ][ /spoiler ] (também sem os espaços) envolvendo o code.
$rs = mysql_db_query($this->banco,$sql); // linha 14
O correto é assim: