Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

visitante_php

[Resolvido] erro ao inserir multiplas querys com mysql_query()

Recommended Posts

apresentou o erro d classe mysqli nao encontrada...

 

 

Fatal error: Class 'mysqli_init' not found in C:\AppServ\www\testes\phpdesigner_tmp11.php on line 36

 

 

ou melhor eu usei este script aki

 

<?php

/**
 * @author inLuar
 * @copyright 2008
 */
/**
* include("teste_classenovamysql.php");
* $banco = new Mysql();
* $banco->conectar("localhost", "root", "beethoven");
*/
/**
* $banco2 = "novo_teste";
* mysql_connect("localhost", "root", "beethoven");

* $cria = mysql_query("CREATE DATABASE ".$banco2);
* if(!$banco2){
* 	echo "<br>erro ao criar banco 2!<br>".mysql_error();
* }else{
* 	echo "<br>banco criado com sucesso!<br>";
* 	$seleciona=mysql_select_db($banco2);
* 	if($seleciona){
* $file = file_get_contents("testes.sql");
* $insere = mysql_query($file);
* if(!$insere){
* 	echo "<br>erro ao inserir dados no banco!<br> ".mysql_error()."<br>";
* }else{
* 	echo "<br>Dados inserridod com sucesso!<br>";
* }	
* }else{
* 	echo "<br>erro ao sleecionar o banco!<br>";
* }
* }
*/

$link = mysqli_init();
$link->real_connect("localhost", "root", "beethoven");
if(mysqli_connect_errno()){
	echo "Houve erro: ".mysqli_connect_error();
}
$banco2 = "novo_teste";
$query.="CREATE DATABASE ".$banco2.";";
$query .= file_get_contents("testes.sql");
if(mysqli_multi_query($link, $query)){
	echo "feito";
}else{
	echo "nao feito";
}

?>

e so criou o banco sem inserir as informacoes e criar as tabelas... =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se a versão do MySQL for inferior a 4.1.3 não poderá utilizar a extensão mysqli, pois é uma extensão melhorada do php_mysql.dll

 

verifique qual a versão do mysql que você está utilizando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

# Apache Web Server Version 2.2.4

# PHP Script Language Version 5.2.3

# MySQL Database Version 5.0.45

# phpMyAdmin Database Manager Version 2.10.2

 

e a extensao esta carregada mysql e mysqli, de acordo com o php.ini

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fatal error: Class 'mysqli_init' not found in C:AppServwwwtestesphpdesigner_tmp11.php on line 36

a mensagem de erro diz que nao encontrou uma class chamada mysqli_init

 

qual classe está utilizando pra executar as funções mysqli ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

/* create a connection object which is not connected */
$link = mysqli_init();

/* set connection options */
mysqli_options($link, MYSQLI_INIT_COMMAND, "SET AUTOCOMMIT=0");
mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5);

/* connect to server */
mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'world');

/* check connection */
if (mysqli_connect_errno()) {
	printf("Connect failed: %s\n", mysqli_connect_error());
	exit();
}

printf ("Connection: %s\n.", mysqli_get_host_info($link));

mysqli_close($link);
?>

do mysqli_real_connect... =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

estranho.. algo está errado..

 

você tentou executar no modo objeto ?

 

esse modo que você está usando chama-se procedure

 

http://php.net/mysqli_real_connect

 

o primeiro exemplo é o modo object.

 

acho que nao fará diferença, mas tente ver o que retorna

 

verifique se as configurações de usuario e senha estao corretos

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
/* create a connection object which is not connected */
$mysqli = mysqli_init();

/* set connection options */
$mysqli->options(MYSQLI_INIT_COMMAND, "SET AUTOCOMMIT=0");
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5);

/* connect to server */
$mysqli->real_connect('localhost', 'root', 'beethoven');

/* check connection */
if (mysqli_connect_errno()) {
	printf("Connect failed: %s\n", mysqli_connect_error());
	exit();
}
  $banco2 = "novo_teste";
  $query.="CREATE DATABASE ".$banco2.";";
  $query .= file_get_contents("testes.sql");
  if(mysqli_multi_query($mysqli, $query)){
	  echo "feito";
  }else{
	  echo "nao feito";
  }
printf ("Connection: %s\n.", $mysqli->host_info);

$mysqli->close();
?>

eu tentei...deu erro...

nao feitoConnection: localhost via TCP/IP .

Compartilhar este post


Link para o post
Compartilhar em outros sites

a conexao foi feita mas há uma falha na execução da query porque você não especificou em qual base de dados deve ser executada

 

execute esse exemplo mais simples

 

<?php

$mysqli = new mysqli("localhost", "root", "beethoven", "nomeDaBaseDeDados");

 

/* check connection */

if (mysqli_connect_errno()) {

printf("Connect failed: %s\n", mysqli_connect_error());

exit();

}

 

/* Create table doesn't return a resultset */

if ($mysqli->query("CREATE DATABASE novoteste LIKE novoteste") === TRUE) {

printf("Table novoteste successfully created.\n");

}

?>

 

referência: http://jp2.php.net/manual/en/mysqli.query.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas você já conseguiu criar o banco não é ??

 

..depois da conexao ele sera criado, o q acontece...mas nao cria as tabela

o problema é criar as tabelas ?

 

se já consguiu criar o banco crie outra conexão que selecionará o banco criado, nessa conexao crie a tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pois eh, eu tentei so q deu 2 erros

 

<?php

/**
 * @author inLuar
 * @copyright 2008
 */

 //include("teste_classenovamysql.php");
 //$banco = new Mysql();
 //$banco->conectar("localhost", "root", "beethoven");

$link = mysql_pconnect("localhost", "root", "beethoven");
 $banco2 = "novo_teste";
// mysql_connect("localhost", "root", "beethoven");
//
$cria = mysql_query("CREATE DATABASE ".$banco2);
 if(!$banco2){
 	echo "<br>erro ao criar banco 2!<br>".mysql_error();
 }else{
 	echo "<br>banco criado com sucesso!<br>";
/**
*	  $seleciona=mysql_select_db($banco2);
*	  if($seleciona){
*  $file = file_get_contents("testes.sql");
*  $insere = mysql_query($file);
*  if(!$insere){
*	  echo "<br>erro ao inserir dados no banco!<br>[".mysql_errno()."]<br> ".mysql_error()."<br>";
*  }else{
*	  echo "<br>Dados inserridod com sucesso!<br>";
*  }	
*  }else{
*	  echo "<br>erro ao sleecionar o banco!<br>";
*  }
*/mysql_close($link);
$link = mysqli_init();
$link->real_connect("localhost", "root", "beethoven");
if(mysqli_connect_errno()){
	echo "Houve erro: ".mysqli_connect_error();
}
$banco2 = "novo_teste";
//$query.="CREATE DATABASE ".$banco2.";";
$query = file_get_contents("backup.sql");
if(mysqli_multi_query($link, $query)){
	echo "feito";
}else{
	echo "nao feito";
}
mysqli_close($link);

 }



/**
*  $link = new mysqli("127.0.0.1", "root", "beethoven");
*  $link->real_connect("localhost", "root", "beethoven");
*  if(mysqli_connect_errno()){
*	  echo "Houve erro: ".mysqli_connect_error();
*  }
*  $banco2 = "novo_teste";
*  $query.="CREATE DATABASE ".$banco2.";";
*  $query .= file_get_contents("testes.sql");
*  if(mysqli_multi_query($link, $query)){
*	  echo "feito";
*  }else{
*	  echo "nao feito";
*  }
*/

/* create a connection object which is not connected */
//$mysqli = mysqli_init();
//
///* set connection options */
//$mysqli->options(MYSQLI_INIT_COMMAND, "SET AUTOCOMMIT=0");
//$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5);
//
///* connect to server */
//$mysqli->real_connect('localhost', 'root', 'beethoven');
//
///* check connection */
//if (mysqli_connect_errno()) {
//	printf("Connect failed: %s\n", mysqli_connect_error());
//	exit();
//}
//  $banco2 = "novo_teste";
//  $query = "CREATE DATABASE ".$banco2." IF NOT EXISTS;";
//  $query .= file_get_contents("testes.sql");
//  if($mysqli->multi_query($mysqli, $query)){
//	  echo "feito";
//  }else{
//	  echo "nao feito";
//  }
//printf ("Connection: %s\n.", $mysqli->host_info);
//
//$mysqli->close();
?>

esse aqui nao faz nada, so cria o banco....

 

 

e esse arquivo aki

 

<?php
/**
 * @author inLuar
 * @copyright 2008
 */

$database = "testes";
set_time_limit(0);
$con = @mysql_connect("localhost", "root", "beethoven");
mysql_select_db($database);

$tabelas = mysql_query("SHOW TABLE STATUS");
while($l = mysql_fetch_assoc($tabelas)) {
	$tabela[$l["Name"]] = $l["Auto_increment"];
}

$backup  = "";
$tabelas = mysql_list_tables($database);
while($tab = mysql_fetch_row($tabelas)) {
   $backup .= "--\n-- Estrutura da Tabela $tab[0]\n--\n\nDROP TABLE IF EXISTS `".$tab[0]."`;\n";
   $res = mysql_query("SHOW CREATE TABLE `".$tab[0]."`");
   while($all = mysql_fetch_assoc($res)){
	  
	   $str = $all['Create Table'];
	   $str = str_replace("`", "`", $str);
	   $str = str_replace("  ", "\t", $str);
	   if(!empty($tabela[$tab[0]])) {
			$backup .= $str." AUTO_INCREMENT=".$tabela[$tab[0]].";\n\n";
		} else {
			$backup .= $str.";\n\n";
		}
	}	
	
$data = mysql_query("SELECT * FROM `".$tab[0]."`");
if(mysql_num_rows($data)) {
	$backup .= "--\n-- Extraindo dados da tabela $tab[0]\n--\n\n";
}	

while($dt = mysql_fetch_row($data)){
	   $backup .= "INSERT INTO `".$tab[0]."` VALUES('$dt[0]'";
	   for($i=1; $i<sizeof($dt); $i++) {
		   $backup .= ", '$dt[$i]'";
	   }
	   $backup .= ");\n";
}	

}
echo "<pre>$backup</pre>";
$teste_backup = file_put_contents($database.".sql", $backup);
if($teste_backup){
	echo "<br><br><br><br><br><br><br><br><br>Arquivo de backup gerado com sucesso!";
}else{
	echo "<br><br><br><br><br><br><br><br><br>Erro ao gerar o arquivo de backup!";
}

?>

 

 

o script d backp q eu pqguei aki do forum so mudei a ultima linha para criar o arquivo sql... nao esta criando mais nada

 

so aparece esse erro...

 

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\testes\phpdesigner_tmp10.php on line 13

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\testes\phpdesigner_tmp10.php on line 19

Compartilhar este post


Link para o post
Compartilhar em outros sites

apague tudo o que nao funciona.

 

deixe a penas o trecho que funciona, nesse caso, o script que cria o banco de dados

 

faça somente isso, depois mostrarei como prosseguir

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o seu objetivo ?

- montar um script que crie um banco de dados e em seguida crie uma tabela dentro do novo banco de dados

 

ok

 

 

até o momento o que conseguiu fazer ?

- um script que cria o banco de dados

 

ok

 

 

o que falta ?

- um script que cria a tabela

 

 

se você já conseguiu criar o banco de dados, qual o a dificuldade que está tendo em fazer a conexão no banco e executar

create table; ??

 

 

um comando simples que pode usar sem precisar selecionar o banco é

 

CREATE nomeDoBanco.nomeTabela;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.