PHP/MySQL | überprüfen ob Tabelle existiert

Also, in meinem phpMyAdmin führt er das SQL Statement aus.
Welche SQL Version hast du denn?
 
Kannst du mal den Quellcode der db_connect Funktion posten.
Ich glaub nicht dass du die db2_connect Funktion meinst?
Ansonsten heißt der Code so:
PHP:
$db = mysql_connect("localhost","root","****") or die ("connect");
mysql_select_db("table",$db) or die ("select db");
 
Kannst du mal den Quellcode der db_connect Funktion posten.
Ich glaub nicht dass du die db2_connect Funktion meinst?
Ansonsten heißt der Code so:
PHP:
$db = mysql_connect("localhost","root","****") or die ("connect");
mysql_select_db("table",$db) or die ("select db");


PHP:
function db_connect()
{
        $dbserver="****";
        $dbuser="****";
        $dbpass="****";
        $dbname="****";

        $db = mysql_connect ($dbserver,$dbuser, $dbpass) or die("Es konnte keine Verbindung hergestellt werden!");
        mysql_select_db($dbname) or die("Auswahl der Datenbank fehlgeschlagen!");
        return($db);
}
 
Ändert sich was wenn du die Zeile änderst, außer meiner Veränderung ;)?
PHP:
mysql_select_db($dbname,$db) or die("Auswahl der Datenbank fehlgeschlagen!");
 
Zuletzt bearbeitet:
Nein. Ich habe die Zugangsdaten einmal geändert. Der gibt auch keine Fehlermeldung aus...

Das heißt der kann noch nicht mal zur DB connecten!
 
Hallo,

also ich kenn nur folgende Prüfung ob ein FELD in der tabelle existiert:

PHP:
<?php 
//Datenbank Connect Daten 
$database= "dbname";       //Datenbankname 
$sqlhost= "localhost";     //mySQL Hostname 
$sqluser= "dbuser";        //mySQL Username 
$sqlpass= "dbpass";        //mySQL Passwort 

//Verbindung herstellen 
$serverid  = @mysql_connect  ( $sqlhost, $sqluser, $sqlpass) or 
             die ("Verbindung zur Datenbank nicht möglich !"); 
if (!mysql_select_db( $database))  echo mysql_error($serverid); 


function mysql_field_exist($db,$table,$field,$serverid) { 
    $fields = mysql_list_fields($db, $table, $serverid); 
    $columns = mysql_num_fields($fields); 
    $found = 0; 
    for ($i = 0; $i < $columns; $i++) { 
        if ( trim($field) == trim(mysql_field_name($fields, $i)) ) $found = 1; 
       } 
       return $found; 
} 

//Prüfen ob das Feld id in der Tabelle powie_pfuser existiert ! 
echo mysql_field_exist($database,"powie_pfuser","id",$serverid); 
?>

gruß

tom
 
Ich will ja nicht prüfen ob ein Feld in der Tabelle existiert sondern ob die Tabelle selber schon existiert und dann via PHP anlegen...

Das geht irgendwie aber ich weiß nur nicht mehr ganz wie...
 
versuch mal mysql_list_tables() - Listet Tabellen in einer MySQL Datenbank auf

PHP:
<?php
$dbname = 'mysql_dbname';

if (!mysql_connect('mysql_host', 'mysql_user', 'mysql_password')) {
   echo 'Keine Verbindung zur Datenbank möglich';
   exit;
   }

$result = mysql_list_tables($dbname);
   
if (!$result) {
   echo "DB Fehler, Tabellen können nicht angezeigt werden\n";
   echo 'MySQL Fehler: ' . mysql_error();
   exit;
}

while ($row = mysql_fetch_row($result)) {
   echo "Tabelle: $row[0]\n";
}

mysql_free_result($result);
?>
 
ich habe nun folgendes:

PHP:
include ("data.php");

$sql1="CREATE TABLE IF NOT EXISTS `SV_LINKVERWALTUNG` (
  `id` int(255) NOT NULL auto_increment,
  `linkname` varchar(25) NOT NULL,
  `url` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1";

$db_connection=db_connect();
$result = mysql_fetch_array($sql1);
db_disconnect($db_connection);

echo error_reporting("E_ALL");
Da gibt der mir folgendes aus:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/local/nagios/share/tools/install.php on line 19
2039
Die 2039 kommt vom Error-Reporting...
 
Zurück