Fot in script
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/radiobood/www/rep3.php on line 6
niets gevonden ?>
Hier het stukje script:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
$sql = "SELECT * FROM tabel WHERE Merk = '%zoekterm hier%'";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1) // dit is lijn 6
{
while ($row = mysql_fetch_array($res))
{
echo "Gevonden met id nr. " . $row['id'];
}
}
else
echo "niets gevonden";
Wie kan mij helpen??
$sql = "SELECT * FROM tabel WHERE Merk = '%zoekterm hier%'";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1) // dit is lijn 6
{
while ($row = mysql_fetch_array($res))
{
echo "Gevonden met id nr. " . $row['id'];
}
}
else
echo "niets gevonden";
Wie kan mij helpen??
Gewijzigd op 13/09/2004 20:25:00 door Steff an
Thijs:
goddamnit op het verkeerde knopje gedrukt ik was iets aan het editen(tenminste dacht ik:P)
Gewijzigd op 13/09/2004 20:27:00 door SerpenT
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
$sql = "SELECT * FROM tabel WHERE (onderwerp LIKE '%$zoeknaar%')";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1) // dit is lijn 6
{
while ($row = mysql_fetch_array($res))
{
echo "Gevonden met id nr. " . $row['id'];
}
}
else
echo "niets gevonden";
?>
$sql = "SELECT * FROM tabel WHERE (onderwerp LIKE '%$zoeknaar%')";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1) // dit is lijn 6
{
while ($row = mysql_fetch_array($res))
{
echo "Gevonden met id nr. " . $row['id'];
}
}
else
echo "niets gevonden";
?>
Ik kon mezelf toen wel voor m'n kop slaan dat het zoiets stoms was wat ik vergeten was omdat het een testscriptje was en het normaal door al eerdere includes enzo niet nodig is.
Hier het hele script dan maar:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
$sql = "SELECT * FROM tabel WHERE (onderwerp LIKE '%$zoeknaar%')";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1) // dit is lijn 5
{
while ($row = mysql_fetch_array($res))
{
echo "Gevonden met id nr. " . $row['id'];
}
}
else
echo "niets gevonden";
?>
$sql = "SELECT * FROM tabel WHERE (onderwerp LIKE '%$zoeknaar%')";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1) // dit is lijn 5
{
while ($row = mysql_fetch_array($res))
{
echo "Gevonden met id nr. " . $row['id'];
}
}
else
echo "niets gevonden";
?>
?>
<form method="post">
Zoek naar gegevens:<br />
<input type="text" name="zoeknaar" value="zoekwoord" /><br />
<input type="submit" name="submit" value="Zoek!" />
</form>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
$db = @mysql_connect("localhost","test","test") or Die (mysql_error()); //login gegevens
@mysql_select_db("radiobood",$db) or Die ("Error: " . mysql_error()); //database selectie
}
$sql = "SELECT * FROM tabel WHERE Merk LIKE '%zoekterm hier%'";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo "Gevonden met id nr. " . $row['id'];
}
}
else
echo "niets gevonden";
?>
$db = @mysql_connect("localhost","test","test") or Die (mysql_error()); //login gegevens
@mysql_select_db("radiobood",$db) or Die ("Error: " . mysql_error()); //database selectie
}
$sql = "SELECT * FROM tabel WHERE Merk LIKE '%zoekterm hier%'";
$res = mysql_query($sql);
if (mysql_num_rows($res) >= 1)
{
while ($row = mysql_fetch_array($res))
{
echo "Gevonden met id nr. " . $row['id'];
}
}
else
echo "niets gevonden";
?>
Ik hoop dat er nu het script wat langer er toch naar wil kijken.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
error_reporting(E_ALL)
if(isset($_POST['submit']))
{
$db = mysql_connect("localhost","test","test") or Die (mysql_error()); //login gegevens
mysql_select_db("radiobood",$db) or Die ("Error: " . mysql_error()); //database selectie
$zoeknaar = $_POST['zoeknaar'];
$sql = "SELECT * FROM tabel WHERE (Merk LIKE '%$zoeknaar%')";
$res = mysql_query($sql);
if (mysql_num_rows($res) > 0) // dit is lijn 5
{
while ($row = mysql_fetch_array($res))
{
echo "Gevonden met id nr. " . $row['id'];
}
}
else
{
echo "niets gevonden";
}
}
?>
error_reporting(E_ALL)
if(isset($_POST['submit']))
{
$db = mysql_connect("localhost","test","test") or Die (mysql_error()); //login gegevens
mysql_select_db("radiobood",$db) or Die ("Error: " . mysql_error()); //database selectie
$zoeknaar = $_POST['zoeknaar'];
$sql = "SELECT * FROM tabel WHERE (Merk LIKE '%$zoeknaar%')";
$res = mysql_query($sql);
if (mysql_num_rows($res) > 0) // dit is lijn 5
{
while ($row = mysql_fetch_array($res))
{
echo "Gevonden met id nr. " . $row['id'];
}
}
else
{
echo "niets gevonden";
}
}
?>
<form method="post">
Zoek naar gegevens:<br />
<input type="text" name="zoeknaar" value="zoekwoord" /><br />
<input type="submit" name="submit" value="Zoek!" />
</form>
Nu doet hij het, als er alleen op zoeken geklikt wordt.
Edit: even paar kleine dingetjes aangepast.
Gewijzigd op 13/09/2004 21:24:00 door Micha
Heb het bericht hierboven even aangepast, mischien werkt het nu wel ;)
Heeft geen zin, mysql_error() werkt alleen als er verbinding is met de databaseserver. Als daarmee niet verbonden kan worden geeft het ook geen foutmelding terug met mysql_error()
>= 1 kan ook gewoon > 0 worden denk ik, leest makkelijk gewoon groter dan 0 ipv 1 of meer. Maar dat is persoonlijk :P
Verder, weet je echt zeker dat je verbinding hebt met de database, want je vangt je foutmeldingen af met @ dus als er geen verbinding gemaakt kan worden zal er nooit wat van op het scherm verschijnen. Dat soort manieren om fouten af te vangen moet je pas toevoegen als je script helemaal af is en het zeker weten 100% werkt. Al zou het dan al niet meer nodig moeten zijn.
Nu heeft hij deze error ?
Script
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
error_reporting(E_ALL)
if(isset($_POST['submit']))
{
$db = mysql_connect("localhost","test","test") or Die (mysql_error()); //login gegevens
mysql_select_db("radiobood",$db) or Die ("Error: " . mysql_error()); //database selectie
$zoeknaar = $_POST['zoeknaar'];
$sql = "SELECT * FROM tabel WHERE (Merk LIKE '%$zoeknaar%')";
$res = mysql_query($sql);
if (mysql_num_rows($res) > 0) // dit is lijn 5
{
while ($row = mysql_fetch_array($res))
{
echo "Gevonden met id nr. " . $row['id'];
}
}
else
{
echo "niets gevonden";
}
}
?>
error_reporting(E_ALL)
if(isset($_POST['submit']))
{
$db = mysql_connect("localhost","test","test") or Die (mysql_error()); //login gegevens
mysql_select_db("radiobood",$db) or Die ("Error: " . mysql_error()); //database selectie
$zoeknaar = $_POST['zoeknaar'];
$sql = "SELECT * FROM tabel WHERE (Merk LIKE '%$zoeknaar%')";
$res = mysql_query($sql);
if (mysql_num_rows($res) > 0) // dit is lijn 5
{
while ($row = mysql_fetch_array($res))
{
echo "Gevonden met id nr. " . $row['id'];
}
}
else
{
echo "niets gevonden";
}
}
?>
<form method="post">
Zoek naar gegevens:<br />
<input type="text" name="zoeknaar" value="zoekwoord" /><br />
<input type="submit" name="submit" value="Zoek!" />
</form>
Ik hoop dat jullie me toch nog verder kunnen helpen.
en geen
error_reporting(E_ALL)
Nog een idee
Maar inprincipe zou:
$sql = "SELECT * FROM `tabel` WHERE `Merk` LIKE '%$zoeknaar%'";
moeten volstaan. Mss staan globals uit en moet je met superglobals werken?
k denk dat een FULLTEXT search hier niet echt zal helpen. Die LIKE moet voldoende zijn. Post de SQL code eens die je heb ingevoerd bij je database. Mss zit daar de fout? (Je post de error's niet dus schiet niet echt op ;) )
Ik weet een klein beetje wat globals ed zijn ($_GET['var'] en $_POST['var']. ) maar weet ze niet toe te passen, is het mogelijk en niet te veel gevraagd of je me daar mee wilt helpen?
Het zecht me niet zo heel veel wat hier onder staat.
Ik heb geen eigen server, moet ik daar waar het script staat (op de server) iets veranderen?
Post regel 10 11 en 12
Mss staan globals uit en moet je met superglobals werken
Post de SQL code eens die je heb ingevoerd bij je database
$sql = 'SELECT * '
. ' FROM `Reparatie` '
. ' WHERE 1 AND `Merk` '
. ' LIKE \'Sony\' LIMIT 0, 30';
Dit werkte, het lijkt mij dat als je dit op de juiste plaats toe voegt aan het script dat het zou moeten werke.
Heb ik dat goed????