• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Fehler in MySQL Script mit einer delete Anweisung

byron1778

Hacker
Hallo Forum,

ich habe ein SQL Script, mit welchem überprügt wird, ob eine Datenbank beschreibbar ist und wenn ja, dann wird der zuvor geschriebene Datensatz wieder gelöscht und in eine andere Datenbank wird das Ergebnis des SQL - Statements geschrieben.
Nur funkt es leider nicht so, wie ich wirklich will.

Hier das Script:

Code:
<html>
<body>
<?php

$line=strftime('%c');
$database = "nextira";
$user = "root";
$passwd = "";
$server = "localhost";
$checktype = "EXTENDED";

if ( ! mysql_connect($server, $user, $passwd) ) {

 

       die("Failed connecting to server: " . mysql_error());

 

}

else

{

print "<p>Connected to server \n</p>";


}


if ( ! mysql_select_db($database) ) {

 

       die( "Failed selecting database '$database': " . mysql_error() );

 

} else {

echo "<p>Connected to Database \n</p>";

}


mysql_query("insert into recording (id,datum, schreiben) values(99,'$line','OK')");
$resultat=mysql_query("select * from recording where id=99");

if(in_array(99,$resultat)) {

mysql_query("delete from recording where id=99");

mysql_query("insert into anderedb (datum, schreiben) values ('$line','OK')");

}

else {

mysql_query("insert into nextira(datum, schreiben) values('$line','NO')"); }

mysql_close($database);

?>
</body>
</html>

Beim Einfügen schreibt er zwar etws hinein, aber er löscht den Eintrag nicht wieder. Es scheint so, als könnte er aus der Funktion in_array die Zahl 99 nicht auslesen.

Kann mir jemand vielleich tweiterhelfen?

Danke für jede Hilfe.

Mfg
Byron
 

panamajo

Guru
byron1778 schrieb:
$resultat=mysql_query("select * from recording where id=99");

if(in_array(99,$resultat)) {

Aus der PHP Doku für mysql_query():
Return Values
For SELECT, SHOW, DESCRIBE or EXPLAIN statements, mysql_query() returns a resource on success, or FALSE on error.
For other type of SQL statements, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.
The returned result resource should be passed to mysql_fetch_array(), and other functions for dealing with result tables, to access the returned data.
Use mysql_num_rows() to find out how many rows were returned for a SELECT statement or mysql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.
mysql_query() will also fail and return FALSE if the user does not have permission to access the table(s) referenced by the query.

Alles Klar? $resultat wird nie 99 beinhalten, also wird auch nicht gelöscht.
 
OP
B

byron1778

Hacker
Danke Dir vielmals.

Es funkt jetzt.

Das Schlimme ist noch, dass ich in einem anderen Script das mysql_fetch_array verwendet hatte und es jetzt die ganze Zeit übersehen habe.

Danke
Mfg
Byron
 
Oben