Kreiranje baze iz php-ja problem
 
woowed 27. okt 2007 16:10:17 Pridružen od:
16. okt 2007
33 objav
0 0 0
#1

Nekaj mi razbija glavo in sicer:



V cms-ju dodam novo domeno, in ob tem se mora izvršit query, ki skreira novo bazo, naredi tabele itd...



napaka:

1064: 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 '; -- -- Database: imebaze -- CREATE DATABASE `imeba' at line 10



Če pa ta isti query skopiram v phpmyadmin pa gre normalno čez.

Uporabljam adodb Database::getInstance()->query($query);



mysql user = root



?:confused:


všeč(0) ni všeč(0) spam(0)
 
HeXeR 27. okt 2007 16:10:33 Pridružen od:
13. dec 2006
3268 objav
122 22 5
#2

Hmm, lahko daš malo več podatkov ? In sicer to vrstico v kateri je napaka :).


všeč(0) ni všeč(0) spam(0)
First rule of business, protect your investment.
 
woowed 27. okt 2007 17:10:10 Pridružen od:
16. okt 2007
33 objav
0 0 0
#3

-- phpMyAdmin SQL Dump

-- version 2.10.1



-- http://www.phpmyadmin.net



-- Host: localhost

-- Generation Time: Oct 24, 2007 at 11:05 PM

-- Server version: 5.0.41

-- PHP Version: 5.2.3



SET SQLMODE="NOAUTOVALUEON_ZERO";



--



-- Database: {$database}



CREATE DATABASE {$database} DEFAULT CHARACTER SET ucs2 COLLATE ucs2slovenianci;

USE {$database};


všeč(0) ni všeč(0) spam(0)
 
woowed 27. okt 2007 17:10:45 Pridružen od:
16. okt 2007
33 objav
0 0 0
#4

v prejšnem postu je prvih 15 vrstic iz database.tpl



$this->tpl->assign('database', $domain->_database);

$query = $this->tpl->fetch('database.tpl');

if(Database::getInstance()->query($query))

[INDENT]print('ok');[/INDENT]

else{

[INDENT]print(Database::getInstance()->ErrorMsg()); [/INDENT]

}



query fetcham s smarty-jem iz templata, kjer se spreminja ime baze.



Ne razumem zakaj deluje BP, če ta query izpišem in ga copy/pastam v phpmyadmin, če ga pa executam, pa vrže error



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 '; -- -- Database: affiliate_project_imebaze -- CREATE DATABASE `affili' at line 10


všeč(0) ni všeč(0) spam(0)
 
woowed 27. okt 2007 19:10:16 Pridružen od:
16. okt 2007
33 objav
0 0 0
#5

Rešeno. Problem je bil v tem, da sem imel več stavkov v enem queriju ločene s ;



rešitev:



$arr = explode(";",$cudenquery);

foreach($arr as $row) Database::GetInstance()->query($row.';');


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se