Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP + MYSQL createdatabase

Goon [29.09.2005 13:40:58]

#

Tässä ois koodi jolla pitäs saada lisättyy database (ja table sinne), mutta SYNTAX ERROR tulee vaikka kaikkee oon kokeillu, voisko joku auttaa??

<form>
<form action="<?php_SELF?>" method="POST">


<input type="text" name="DATABASEADD" id="DATABASEADD" value="Database name">DATABASE NAME<br>
<input type="text" name="CREATETABLE" id="CREATETABLE" value="TABLE name">TABLE NAME<br>

<input type="submit" name="Submit" value="send">
<input type="reset" name="Submit2" value="CLEAR">

<?PHP

#haetaan tiedot formin kentistä
$dbadd=$_POST["DATABASEADD"];
$crtable=$_POST["CREATETABLE"];

$connect = mysql_connect("localhost", "root", "pw") or die(mysql_error());
#yhteys mysql serveriin
$connect;
echo "mysql server connction established<br>";

#näis luotais database muuttujilla
$sql = 'CREATE DATABASE  '.($dbadd);
mysql_query($sql) or die(mysql_error());
if (mysql_select_db($dbadd, $connect))
{
  echo "Database ($dbadd) created successfully\n";
}
else
{
  echo 'Error creating database: ' . mysql_error() . "\n";
}

#näis luotais taulu databaseen
mysql_select_db($dbadd) or die (mysql_error());
echo "$dbadd selected.<br>";
$mysql_query("CREATE TABLE $crtable(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
name VARCHAR(30),
title VARCHAR(40),
qty INT,
price INT)")
or die(mysql_error());
echo "Created table named $crtable to database named $dbadd";
?>

</form>

Clawhammer [29.09.2005 14:32:07]

#

Kokeilepa ensin korvata query tällä:

<?php

$mysql_query('CREATE TABLE ' . $crtable . '(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
name VARCHAR(30),
title VARCHAR(40),
qty INT,
price INT)')

?>

Goon [29.09.2005 15:27:27]

#

kiitos, mutta syntax error, muita ideoita?

Olga [29.09.2005 16:40:48]

#

Virheen rivinumero auttais aika paljon, mutta äkkiä tulee mieleen toi SQL-lauseen rivitys, josta ei tulkki tykkäis. Eli pistä samalle riville noi, tai sitten pistä aina rivin loppuun lopettava hipsu ja piste (eli jatkuu seuraavalla rivillä). Ja tuosta Clawhammerin esimerkistä puuttuu ainakin lopusta puolipiste.

kasetti [30.09.2005 11:51:24]

#

Itse etenisin "debuggaamalla" eli laittaisin tuon CREATE DATABASE kohdan alle echo $sql; Ja katsoisin aina minkälainen komento tulee. Sama juttu luonnollisesti CREATE TABLEN kanssa. Sitten kokeilisin noita komentoja ihan SQL-ikkunassa...

Ja CREATE DATABASE kohdan tekisin:

<?
$Taulun_tekeminen = $mysql_query("CREATE TABLE $crtable(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
name VARCHAR(30),
title VARCHAR(40),
qty INT,
price INT)")
or die(mysql_error());
?>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta