[ gagoo @ 25.12.2004. 07:25 ] @
U sledecem kodu za Telefonski imenik kada se pritisne dugme SEARCH izadje sledeca poruka:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in F:\server\www\imenik.php on line 39
Podatak ne postoji .


<html>
<body bgcolor=#FFFF77>
<h1>PHP Phone Book v1.0</h1>
<?
$conn=
mysql_connect("localhost","root","password");
mysql_select_db("Imenik",$conn);
switch($opcija) // izaberite komandu;
{
case "NEW":
$sql="INSERT INTO tblimenik" .
"(Ime,Prezime, Telefon,Adresa)" .
"VALUES" .
"('$ime','$prezime','$telefon','$adresa')";
$rs=mysql_query($sql,$conn);
echo "Osoba $ime $prezime je upisana u imenik.";
$ime="";
$prezime="";

$telefon="";
$adresa="";
$id=0;
break;
case "DELETE":
$sql="DELETE FROM tblimenik WHERE Id=$id";
$rs=mysql_query($sql,$conn);
echo "Osoba $ime $prezime je obrisana iz imenika.";
$ime="";
$prezime="";

$telefon="";
$adresa="";
$id=0;
break;
case "SEARCH":
$sql="SELECT * FROM tblimenik WHERE" .
"Ime=$ime OR Prezime=$prezime";
$rs=mysql_query($sql,$conn);
$row = mysql_fetch_array($rs,MYSQL_ASSOC) or die ("<a href='imenik.php'>Podatak ne postoji</a>");
$ime=$row["Ime"];
$prezime=$row["Prezime"];

$telefon=$row["Telefon"];
$adresa=$row["Adresa"];
$id=$row["Id"];
echo "Osoba $ime $prezime je pronadjena:";
break;
case "UPDATE":
$sql="UPDATE tblimenik SET ime='$ime'" .
"Prezime='$prezime',Telefon='$telefon',Adresa='$adresa' WHERE Id=$id";
$rs=mysql_query($sql,$conn);
echo "Podaci osvojeni.";
break;
}

?>

<form name="Webformular" action="imenik.php" method="post">
Ime<br>
<input type="text" name="ime" value="<? echo $ime ?>">
<br>
Prezime<br>
<input type="text" name="prezime" value="<? echo $prezime ?>">
<br>
Telefon<br>

<input type="text" name="telefon" value="<? echo $telefon ?>">
<br>
Adresa<br>
<input type="text" name="adresa" value="<? echo $adresa ?>">
<br>
<input type="hidden" name="id" value="<? echo $id ?>">
<br>
<input type="submit" name="opcija" value="NEW">
<input type="submit" name="opcija" value="UPDATE">
<input type="submit" name="opcija" value="DELETE">
<input type="submit" name="opcija" value="SEARCH">
</form>
</body>
</html>

Ne mogu da pronadjem sta ne valja. Ovo sam nasao u casopisu, a inace suvi sam pocetnik.



[ Nikola Denić @ 25.12.2004. 07:36 ] @
Citat:

F:\server\www\imenik.php


Znaci prvo pogledam ovlas .. i vidim ok ... reko ajd da nisam lud .. ubacim u editor .... i tu je ok .. reko .. uhm .. gde je njemu sql file ... mozda to .. kad ono medjutim .....

Znaci .. .procitaj jako puno poruka pre ove .. o povezivanje na bazu,sql-u i sve ostalo .. apache.php ,mysql server .. i tako to

Uzas
[ CONFIQ @ 25.12.2004. 10:36 ] @
prepostavljam da ti je isključen register_globals
Pokušaj da napišeš imesto:

$sql="SELECT * FROM tblimenik WHERE" ."Ime=$ime OR Prezime=$prezime";
ovo
$sql="SELECT * FROM tblimenik WHERE Ime='$_POST[ime]' OR Prezime='$_POST[prezime]'";
Da bi preneo prmenljive sa $_POST-a

i dodaj umesto:
$rs=mysql_query($sql,$conn);
ovo:
$rs=mysql_query($sql,$conn) or die(mysql_error($sql));

Da bi video mysql grešku

Inače jako lep kód za početnika :Đ
[ Nebojsa_S @ 25.12.2004. 22:38 ] @
Mislim da su jedan od razloga promenljive $ime i $prezime unutar $sql stringa. Cini mi se da treba:
Code:
$sql="SELECT * FROM tblimenik WHERE Ime='$ime' OR 
Prezime='$prezime';";

Ako ti je register_globals=off onda ispred onoga gore obavezno :
Code:

$ime=$_POST['ime'];
$prezime=$_POST['prezime'];

...ili kao sto ti je CONFIQ napisao.
[ gagoo @ 27.12.2004. 21:25 ] @
Probao sam vase savete, ali je bilo opet isto.Onda sam nesto menjeo na svoju ruku i sad sve radi.Dole je kod.Ako nekom nije tesko da objasni u cemu je razlika izmedju onog pre i ovog sada, kada kod radi.
<html>
<body bgcolor=#FFFF77>
<h1>PHP Phone Book v1.0</h1>
<?
$conn= mysql_connect("localhost","root","password");

mysql_select_db("imenik",$conn);
switch($opcija) // izaberite komandu
{
case "NEW":
$sql="INSERT INTO tblimenik" .
"(Ime,Prezime, Telefon,Adresa)" .
"VALUES" .
"('$ime','$prezime','$telefon','$adresa')";

$rs=mysql_query($sql,$conn);
echo "Osoba $ime $prezime je upisana u imenik.";
$ime="";
$prezime="";

$telefon="";
$adresa="";
$id=0;
break;
case "DELETE":
$sql="DELETE FROM tblimenik WHERE Id=$id";
$rs=mysql_query($sql,$conn);
echo "Osoba $ime $prezime je obrisana iz imenika.";
$ime="";
$prezime="";

$telefon="";
$adresa="";
$id=0;
break;
case "SEARCH":
$sql = "SELECT * FROM tblimenik WHERE Ime='$ime' OR Prezime='$prezime'";

$rs=mysql_query($sql,$conn);
$row = mysql_fetch_array($rs,MYSQL_ASSOC) or die ("<a href='imenik.php'>Podatak ne postoji</a>");
$ime=$row["Ime"];
$prezime=$row["Prezime"];

$telefon=$row["Telefon"];
$adresa=$row["Adresa"];
$id=$row["Id"];
echo "Osoba $ime $prezime je pronadjena:";
break;
case "UPDATE":
$sql = "UPDATE tblimenik SET ime='$ime',Prezime='$prezime',Telefon='$telefon',Adresa='$adresa' WHERE ID=$id";
$rs=mysql_query($sql,$conn);
echo "Podaci osvojeni.";
break;
}

?>

<form name="Webformular" action="imenik.php" method="post">
Ime<br>
<input type="text" name="ime" value="<? echo $ime ?>">
<br>
Prezime<br>
<input type="text" name="prezime" value="<? echo $prezime ?>">
<br>
Telefon<br>

<input type="text" name="telefon" value="<? echo $telefon ?>">
<br>
Adresa<br>
<input type="text" name="adresa" value="<? echo $adresa ?>">
<br>
<input type="hidden" name="id" value="<? echo $id ?>">
<br>
<input type="submit" name="opcija" value="NEW">
<input type="submit" name="opcija" value="UPDATE">
<input type="submit" name="opcija" value="DELETE">
<input type="submit" name="opcija" value="SEARCH">
</form>
</body>
</html>
Inace na linku:www.serbian.co.uk/it/index.cfm?special=apache nalazi se objasnjenje instaliranja Apache-a,PHP-a i MySQL-a na Windows platformu.Interesuje me Vase misljenje o ovome.