Jump to content
php.lv forumi

Mysql CREATE DB problēma


Faks

Recommended Posts

Labvakar Dāmas un Kungi šodien ir interesanta problēma respetīvi nau ne jausmas kā dabut cauri kvērijam šo jauko funkciju izveidot datubāzi cik rakos pa forumu secinu ka es laikam nu būšu pirmais :) kas to jautā šeit !,Nu tad Es ceru uz labām idejām un labiem piemēriem ja ir labas idejas kā izlabot neejošo kodu būšu ļoti priecīgs ja ir labs ieteikums runā skaļi lai redz :) savādāk bus vel viena ideja bez beigām :) ja nē vismaz gaiša galva ari noderēs :) !

 

Pats Kods

 		
	$db_name = mysql_real_escape_string($db_name);
	$db_name = htmlentities($db_name);
	$db_name = trim($db_name);
	$db_name = stripslashes($db_name);


	if (isset($_POST['Submit'])) 
	{
		$create_db = 'CREATE DATABASE ' . $db_name;
		mysql_query($create_db) or die(mysql_error());
	}

	echo "<form  method='post'>
		Mysql Database Name
		<br />
	  <input name='$db_name' type='text' id='CREATE' size='45' />
	  <br />
	  <input name='Submit' type='submit' id='Submit' value='Submit' /><input name='Reset' type='reset' value='Reset' id='Reset' />
	</form>";

Link to comment
Share on other sites

Pirmkārt, vai ir kāds errors un ko tas rāda? Otkārt, pamēģini mysql_real_escape_string lietot tikai datu ievadei MySQL tabulā. Vai viss ir kārtibā ar datubāzes konekciju? Te tā var minēt stundam...

Edited by KarlisBa
Link to comment
Share on other sites

Yeahh, es jau laikam esmu redzējis dažus Tavus jautājumus, bet nu, ja tā padomā neviens nav piedzimis par koderi, tāpēc mēģināšu paskaidrot ;)

 

Pirms visām šīm idejām ir jautājums - kāpēc datubāzi vajag taisīt dinamiski? Ja rodas uzmācīga vēlme izveidot db pārvaldīšanas rīku, tad nevajag izgudrot divriteni, bet ņem gatavu rīku, piemēram, phpMyAdmin. Ja kaut kāda cita iemesla dēļ, tad par 99,9% gadījumu Tu kaut ko dari nepareizi. Jo saprātīgi gadījumi, kad kodā veido datubāzes un datubāzu objektus vispār ir reti. Normāli ir instalācijas skripts (vai sliktākā gadījumā laikā gaitā ar roku izveidoti objekti, bet tas ir bad bad), kas uzinstalē datubāzes objektus - pašu datubāzi, ja nepieciešams, tabulas, indeksus, u.c. Un aplikācija tikai apstrādā datus jau zināmos objektos. OK var būt reti speciāli gadījumi, kad aplikācija pati var dinamiski veidot un dzēst objektus, bet tad ir jābūt kādiem speciāliem iemesliem, kāpēc nevar iztikt ar iepriekš zināmu objektu kopu.

 

Gints Plivna

http://datubazes.wordpress.com

Link to comment
Share on other sites

Yeahh, es jau laikam esmu redzējis dažus Tavus jautājumus, bet nu, ja tā padomā neviens nav piedzimis par koderi, tāpēc mēģināšu paskaidrot ;)

 

Pirms visām šīm idejām ir jautājums - kāpēc datubāzi vajag taisīt dinamiski? Ja rodas uzmācīga vēlme izveidot db pārvaldīšanas rīku, tad nevajag izgudrot divriteni, bet ņem gatavu rīku, piemēram, phpMyAdmin. Ja kaut kāda cita iemesla dēļ, tad par 99,9% gadījumu Tu kaut ko dari nepareizi. Jo saprātīgi gadījumi, kad kodā veido datubāzes un datubāzu objektus vispār ir reti. Normāli ir instalācijas skripts (vai sliktākā gadījumā laikā gaitā ar roku izveidoti objekti, bet tas ir bad bad), kas uzinstalē datubāzes objektus - pašu datubāzi, ja nepieciešams, tabulas, indeksus, u.c. Un aplikācija tikai apstrādā datus jau zināmos objektos. OK var būt reti speciāli gadījumi, kad aplikācija pati var dinamiski veidot un dzēst objektus, bet tad ir jābūt kādiem speciāliem iemesliem, kāpēc nevar iztikt ar iepriekš zināmu objektu kopu.

 

Gints Plivna

http://datubazes.wordpress.com

neder veidoju cms .....

Link to comment
Share on other sites

Pirmkārt, vai ir kāds errors un ko tas rāda? Otkārt, pamēģini mysql_real_escape_string lietot tikai datu ievadei MySQL tabulā. Vai viss ir kārtibā ar datubāzes konekciju? Te tā var minēt stundam...

errors ir ... !

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 '' at line 1

hmm itkā saprotu bet nesaprotu kāpec viņs met to erroru lai vai kā es mēģinu risināt varbūt kādam ir idejas ?

Edited by Faks
Link to comment
Share on other sites

itkā saprotu bet nesaprotu

Apsveicu, pieliec "echo" pirms $create_db un paskaties, kāds ir kverija saturs.

Paskaidro, kāpēc tieši tādā secībā esi uzkodējis tās pirmās 4 rindas...

Link to comment
Share on other sites

Apsveicu, pieliec "echo" pirms $create_db un paskaties, kāds ir kverija saturs.

Paskaidro, kāpēc tieši tādā secībā esi uzkodējis tās pirmās 4 rindas...

ideja bija lai atfiltret datubāžu nosaukums no visa liekā

bet kā saprotu vienkārši filtret mainīgo neiznaks :D

Link to comment
Share on other sites

Sāc ar trim(), htmlEntities, stripSlashes(), tad mysql_real_escape_string(). Un vispār... PDO! Bet to vēlāk.

Pēc tam, kad kverijs "ir izbūvēts" - neizpildi pieprasījumu, bet gan, vienkārši, izdrukā kveriju (tātad - stringu). Un tad jau redzēs kas neiet...

Link to comment
Share on other sites

Sāc ar trim(), htmlEntities, stripSlashes(), tad mysql_real_escape_string(). Un vispār... PDO! Bet to vēlāk.

Pēc tam, kad kverijs "ir izbūvēts" - neizpildi pieprasījumu, bet gan, vienkārši, izdrukā kveriju (tātad - stringu). Un tad jau redzēs kas neiet...

sorry drusku noēzeļos pārbaudiju visu un atjēdz ka aizmirsos $_POST :D drusku padumi vobšem vis ir ok paldie par jūsu visu laiku :)

paldies par ieteukumu maziņs debug vienmēr izpalidz :)

 

Bet Gintam Plivna iesaku silti nebāzt savu galvu turkur nevajaga man liekas pamaz esi pa pirkstiem dabūjis .

Edited by Faks
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...