PHP und MySQL

Registriert
11. Oktober 2001
Reaktionspunkte
144
Ort
Braunschweig
Ich erstelle gerad ne neue datenbank für meine page.
hab aber folgendes problem. ich muss zwei SQL Statements (INSERT und UPDATE) ausführen nur kann PHP das nicht. hab bereits diverse seiten durchsucht und kam zu der lösung, dass ich die funktion split_sql() (steht in der Datei db_readdump.php) dafür benutzen muss. hat jemand ne ahnung, wie ich das korrekt in den code implementiere??

wär für eure hilfe sehr dankbar

hier die db_readdump.php

<?php
/* $Id: db_readdump.php3,v 1.18 2000/07/02 10:14:20 tobias Exp $ */
@set_time_limit(10000);

if (!function_exists ('connect'))
include("malib.php3");

function split_sql($sql)
{
$sql = trim($sql);
$sql = ereg_replace("#[^\n]*\n", "", $sql);
$buffer = array();
$ret = array();
$in_string = false;

for($i=0; $i<strlen($sql)-1; $i++)
{
if($sql[$i] == ";" && !$in_string)
{
$ret[] = substr($sql, 0, $i);
$sql = substr($sql, $i + 1);
$i = 0;
}

if($in_string && ($sql[$i] == $in_string) && $buffer[0] != "\\")
{
$in_string = false;
}
elseif(!$in_string && ($sql[$i] == "\"" || $sql[$i] == "'") && (!isset($buffer[0]) || $buffer[0] != "\\"))
{
$in_string = $sql[$i];
}
if(isset($buffer[1]))
{
$buffer[0] = $buffer[1];
}
$buffer[1] = $sql[$i];
}

if(!empty($sql))
{
$ret[] = $sql;
}

return($ret);
}

if(!empty($sql_file) && $sql_file != "none" && ereg("^php[0-9A-Za-z_.-]+$", basename($sql_file)))
{
$sql_query = addslashes(fread(fopen($sql_file, "r"), filesize($sql_file)));
}

$pieces = split_sql($sql_query);

if (count($pieces) == 1 && !empty($pieces[0]))
{
$sql_query = trim($pieces[0]);
include ("sql.php3");
exit;
}

//include("header.inc.php3");
for ($i=0; $i<count($pieces); $i++)
{
$pieces[$i] = stripslashes(trim($pieces[$i]));
if(!empty($pieces[$i]) && $pieces[$i] != "#")
{
echo $i."--".$pieces[$i]."<BR>";
$result = requete($pieces[$i]);
}
}

$sql_query = stripslashes($sql_query);
$message = $strSuccess;

//include("db_details.php3");

?>
 
Kannst du das mal genauer erklaeren? Normalerweise werden SQL-Commands via mysql_query () an den DBS weitergegeben.

Erst einen mysql_query ("INSERT bla bla"); und dann den mysql_query ("UPDATE bla bla");

Damit sollte es doch eigentlich gehen. Oder habe ich was uebersehen?

Gruesse, Marcus

now listening to: Monster Magnet - Kiss of The Scorpion
 
Zurück