"We are back" « oc.at

php bzw mysql prob

Luki 19.08.2002 - 15:31 1600 20
Posts

Luki

UNDER CONSTRUCTION
Avatar
Registered: Feb 2002
Location: 127.0.0.1
Posts: 2347
Also folgendes skript will net in die mysql datenbank schreiben :(

Code:
<center>
<?php

if($s == "")
{

$conn_id = mysql_connect("localhost","root","");
mysql_select_db("test",$conn_id);
$result = mysql_query("SELECT nr , zeit , ip , port , game , beschreibung FROM games order by zeit");

$i=0;
while($zeile = mysql_fetch_array($result)) 
{
$i++;
$data[1][$i] = $zeile['nr'];
$data[2][$i] = $zeile['zeit'];
$data[3][$i] = $zeile['ip'];
$data[4][$i] = $zeile['port'];
$data[5][$i] = $zeile['game'];
$data[6][$i] = $zeile['beschreibung'];
}

$j = 0 ;

while($i != $j)
{
$j++;
$stu = substr($data[2][$j],1,2);
$min = substr($data[2][$j],3,2);
$wot = substr($data[2][$j],0,1);
if($wot == "1") {$wot = "Freitag";}
if($wot == "2") {$wot = "Samstag";}
if($wot == "3") {$wot = "Sonntag";}
echo "<table width=35% border='1'>";
echo "  <tr>";
/* echo "    <td width=75% bgcolor='lightsteelblue'> <b>Game:</b>",$data[4][$i],"</td>";    */
echo "<td bgcolor='lightsteelblue'><table border=0 cellpadding=0 cellspacing=0 width=100%><tr><td><b> Game: </b>", $data[5][$j] , "</td><td align='right' bgcolor='lightsteelblue'><b>" , $wot , " um " , $stu , ":" , $min , "</b></td></tr></table></td> ";

echo "  </tr> ";
echo "  <tr> ";
echo "     <td colspan = '2'><b>IP: </b>", $data[3][$j] , " <b>Port: </b>", $data[4][$j] , "<p><b>Beschreibung: </B><br>" , $data[6][$j],"</td>";
echo "   </tr>";
echo "<p>";
echo "<br>";
echo "</table>";
}  /* eowhile , ausgabe */
echo "<p>";

echo "<p><a href ='gsrv.php?s=1'>Neuer Eintrag </A>";
}  /* eoif, kontrolliert ob geschrieben wird */
if($s=="1")
{
?>
<form action="gsrv.php?s=2" method="post">
<table width="75%" border="0">
  <tr><td><div align="right">Uhrzeit (HH:MM): </div>
    </td><td>
      <input type="text" name="Zeit">
    </td></tr><tr>
    <td><div align="right">Tag: </div>
    </td><td>
      <select name="WoT">
        <option value="1">Freitag</option>
        <option value="2">Samstag</option>
        <option value="3">Sonntag</option>
      </select>
    </td></tr>
  <tr><td><div align="right">Game: </div>
    </td><td><input type="text" name="Game">
    </td></tr><tr>
    <td><div align="right">IP: </div>
    </td><td>
      <input type="text" name="Ip">
    </td></tr>
  <tr><td>
      <div align="right">Port: </div>
    </td><td>
      <input type="text" name="Port">
    </td></tr>
  <tr><td>
      <div align="right">Beschreibung: </div>
    </td><td>
    <textarea name="Beschreibung" rows="4" cols="70" wrap="virtual" tabindex="1"></textarea> </td>
  </tr>
</table>
<input type="submit" value="Go">
<?php
}
if($s=="2")
{
$stun = substr($Zeit,0,2);
$min = substr($Zeit,3,2);
$zeit = "$WoT$stun$min";
$conn_id = mysql_connect("localhost","root","");
mysql_select_db("test",$conn_id);
$result = mysql_query("Insert into games (zeit , ip , port , game , beschreibung)
 			values(".$zeit.", ".$Ip." , ".$Port." , ".$Game." , ".$Beschreibung.")");
 			
 			echo "Daten wurden geschrieben<br>";
 			echo "<a href='gsrv.php'>Startseite</A>";
}



?>

ausgeben usw tut er ja eh schön

wobbo

...
Registered: Apr 2001
Location: Drehstuhl :)
Posts: 1022
keine ahnung wie es bei dir ist, aber auf meinem server würde er einen Insert nur so nehmen ->
Code:
$result = mysql_query("INSERT INTO `games` (`zeit`, `ip`, `port`, `game`, `beschreibung`)
                       VALUES('$zeit', '$Ip', '$Port', '$Game', '$Beschreibung')");
aber ich hab bei mir auch schon längere zeit kein update vorgenommen am server, weil derzeit alles so rennt, wie ich es brauche ;)
Bearbeitet von wobbo am 20.08.2002, 10:53

Philipp

Here to stay
Registered: Jul 2001
Location: Wien
Posts: 1970
Zum debuggen ist es auch empfehlenswert folgendes nach einer $result = mysql_query("... Zeile hinzuzufügen:
Code: PHP
	if (!$result)
	{
		echo mysql_errno(). ": ".mysql_error(). "<br />";
		return;
	}

Dadurch findet man so manchen kleinen Fehler :)

Jehul

Big d00d
Avatar
Registered: Nov 2000
Location: lnz
Posts: 295
strings musst in hockomma machen, damit er weis, wo er anfängt und endet.
also:
"insert... values (...,'$Beschreibung',...)"

Guest

Deleted User
Registered: n/a
Location:
Posts: n/a
vor allem ist diese ".$var." - notation a bisserl braindead.

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
entweder '.$parseme.' oder gleich "...$igetparsedanyway..."
bei arrays kanns natuerlich wieder rum anders aussehen

Luki

UNDER CONSTRUCTION
Avatar
Registered: Feb 2002
Location: 127.0.0.1
Posts: 2347
funzt immer noch net, er schreibt noch nichts in die datenbank
ich habe jetzt die wobbo und funker methode ausprobiert und es geht noch net

funka

Legend
ex-prophet(down below)
Registered: Sep 2000
Location: Vienna / SF
Posts: 6131
das war kein loesungs ansatz ansich
hau mal ein if (!$result) die(mysql_error()); drunter

Luki

UNDER CONSTRUCTION
Avatar
Registered: Feb 2002
Location: 127.0.0.1
Posts: 2347
ok, bei der 3.seite (s=2)
gibt er mir 1064: Fehler in der Syntax bei ''nr' , 'zeit' , 'ip' , 'port' , 'game' , 'beschreibung') va' in Zeile 1.

aus, nur ich finde einfach keinen fehler.

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Luki
ok, bei der 3.seite (s=2)
gibt er mir 1064: Fehler in der Syntax bei ''nr' , 'zeit' , 'ip' , 'port' , 'game' , 'beschreibung') va' in Zeile 1.

aus, nur ich finde einfach keinen fehler.
lol, schau mal deine zeile genau an ;)
<DOUBLE quote>nr<SINGLE QUOTE> , <SINGLE QUOTE>ip<SINGLE QUOTE> ,<SINGLE QUOTE>port<SINGLE QUOTE> ....
du solltest übrigens wo's nur geht single quotes verwenden, bringt einiges an leistung ;)

edit: mist, verschaut :bash: das sind ja zwei single :rolleyes:
Bearbeitet von watchout am 20.08.2002, 10:04

Snoop

Here to stay
Registered: Jun 2002
Location: Gablitz
Posts: 1092
Zitat von funka
das war kein loesungs ansatz ansich
hau mal ein if (!$result) die(mysql_error()); drunter

warum so umständlich mit einer If klammern ???? mach doch einfach nach dem query mysql_db_query($mysql_db,$select,$verbindung) or die (mysql_error() );
das einzig blöde an der sache ist, dass wenn man mehrere Querys hat. man meistens raten muss wo der Fehler liegt...... :(

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
denke ich habs gefunden..:
$result = mysql_query("Insert into games (zeit , ip , port , game , beschreibung)
values(".$zeit.", ".$Ip." , ".$Port." , ".$Game." , ".$Beschreibung.")");
string-werte sollten schon gequoted sein... :rolleyes:
$result = mysql_query("Insert into games (zeit , ip , port , game , beschreibung)
values(' ".$zeit." ', ' ".$Ip." ' , ' ".$Port." ' , ' ".$Game." ' , ' ".$Beschreibung." ')");
Edit: hab blanks zwischen " und ' gemacht damit man's besser erkennt... ;)
Edit: @Luki&wobbo: machts bitte den code etwas forumfreundlicher -> enter's bei den 4m-zeilen ;)
Bearbeitet von watchout am 20.08.2002, 10:39

Luki

UNDER CONSTRUCTION
Avatar
Registered: Feb 2002
Location: 127.0.0.1
Posts: 2347
thx watchout jetzt funzt es :)

Jehul

Big d00d
Avatar
Registered: Nov 2000
Location: lnz
Posts: 295
Zitat von watchout
string-werte sollten schon gequoted sein... :rolleyes:

hab i a paar beiträge weiter oben schon geschrieben... :bash:

alexsb

hmm
Avatar
Registered: Jun 2001
Location: near Graz
Posts: 1566
a bisserl ot aber ich muss da mal fragen:

Warum verwendets ihr (bitte nur die angesprochen fühlen dies wirklich tun) immer echo um html zu schreiben? Ich beend php mit ?> und danach gehts mit <? wider los. Hat das irgendeinen Sinn oder ist das nur Gewohnheit, bzw wie sollt manns denn machen?

edit: dass hat mich da drauf gebracht:

Zitat


echo "<table width=35% border='1'>";
echo " <tr>";
/* echo " <td width=75% bgcolor='lightsteelblue'> <b>Game:</b>",$data[4][$i],"</td>"; */
echo "<td bgcolor='lightsteelblue'><table border=0 cellpadding=0 cellspacing=0 width=100%><tr><td><b> Game: </b>", $data[5][$j] , "</td><td align='right' bgcolor='lightsteelblue'><b>" , $wot , " um " , $stu , ":" , $min , "</b></td></tr></table></td> ";

echo " </tr> ";
echo " <tr> ";
echo " <td colspan = '2'><b>IP: </b>", $data[3][$j] , " <b>Port: </b>", $data[4][$j] , "<p><b>Beschreibung: </B><br>" , $data[6][$j],"</td>";
echo " </tr>";
echo "<p>";
echo "<br>";
echo "</table>";
} /* eowhile , ausgabe */
echo "<p>";

Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz