Kezdőoldal » Számítástechnika » Weblapkészítés » Mi a hiba 000webhoston?...

Mi a hiba 000webhoston? (MYSQL-PHP)

Figyelt kérdés

Szóval:

a 000webhost több szempontból is rossz.

de még is ez a legjobb ingyenes tárhely!(ezt azért mondtam el mert lehet, hogy a használt funkciót nem támogatja a 000)

szóval a kérdésem:

miért nem működik ez a kód:



?>

<form name="form1" method="post" action="">

<input name="q_search" type="text" id="q_search" value="">

<select name="q_where">

<option value="-1">Mindenütt keres</option>

<?php

$f = array(

"nev"=>"név",

"telefonszam"=>"telefonszám",

"email"=>"email cím",

"uzletag"=>"üzletág",

"ertek"=>"értékelés"

);


foreach($f AS $k => $v) {

$sel = ("q_where" == $k) ? 'selected="selected"' : "";

echo ' <option value="' . $k . '" ' . $sel . '>' . htmlspecialchars($v) . '</option>';

}


?>

</select>

<input type="submit" name="q_go" value="Keres">

</form>

<?php

$host = "";//a sql host

$dbname ="";//adatbázis neve

$dbuser ="";//adatbázis felhasználóneve

$dbpass ="";//adatbázis jelszava

$location = "";//ide vezet a sikeres bejelentkezés után

$bl = "";//ide vezet a sikertelen bejelentkezés után

//csatlakozás

mysql_connect ($host,$dbuser,$dbpass);

mysql_select_db($dbname);

include("pangtion.php");

$query="SELECT * FROM profil ";


if ("q_search" != "") {

if ("q_where" == "-1") {

foreach($f AS $k => $v) {

$where[] ="$k like '%". mysql_real_escape_string( "q_search") ."%'";

}

}

else

$where[] = "q_where" . " like '%". "q_search" ."%'";

}


if(isset($where) AND count($where)>0)

$query .=" WHERE " . implode(" OR " , $where) ;



$result=mysql_query($query);

$num = mysql_num_rows ($result);

$row_per_page="10";


$page= isset($_GET["page"])? intval($_GET["page"]) : 1 ;

$actual=($page-1)*$row_per_page;

$query.=" LIMIT $actual,$row_per_page";

$result = mysql_query( $query ) or die(mysql_error());


if ($num > 0 ) {


?>

<table border="1">

<tr>

/*

törölve

*/


</tr>

<?php

while($a=mysql_fetch_assoc($result))

{

echo "<tr>";

/*

ezt a részletet kitöröltem :P

*/



echo "</tr>";

}

echo "</table>";



$q_search="q_search";

$q_where="q_where";

$p = new pagination;

$p->Items($num);

$p->limit($row_per_page);

$p->target("?q_search=$q_search&q_where=$q_where");

$p->currentPage($page);

$p->nextLabel("");

$p->prevLabel("");

$p->nextIcon("");

$p->prevIcon("");

$p->show();


}

else

echo "<h3>NINCS TALÁLAT :(!</h3>";



#programozás #mysql.php.weblapkészítés
2012. aug. 17. 15:01
 1/8 anonim ***** válasza:
Hogyhogy nem működik, mi a hiba?
2012. aug. 17. 16:30
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a9426947/public_html/szerelokell/kesz/9/images/kell/kereses.php on line 79


Free Web Hosting

Unknown column 'q_where' in 'where clause'

2012. aug. 17. 18:57
 3/8 anonim ***** válasza:

Így első ránézésre ezek a hibák (persze lehet van még de kicsit fáradt vagyok :)) :


if ("q_search" != "") { <-- mivel a q_search az űrlapból kapott POST érték, ezért a $_POST['q_search'] tömböt kéne vizsgálni, másrészt, nem egy egyenlőség jellel, hanem kettővel, mert vizsgálod, hogy nem üres-e, vagyis:

if ($_POST['q_search'] !== "") {


itt ugyanúgy POST:

if ("q_where" == "-1") {

helyett

if ($_POST['q_where'] == "-1") {

2012. aug. 18. 02:48
Hasznos számodra ez a válasz?
 4/8 Drone007 ***** válasza:

Feltételezve, hogy a csatlakozási adatok nálad ki vannak töltve, nagy valószínűséggel az a hiba, amit az előző hozzászóló írt, vagyis nem változókat (a $_POST tömb) használsz, hanem egyszerű stringeket változók helyett.

A 36. sor feltétele egyszerűen az else ágba vágódik, ahol a q_where stringként adódik hozzá a keresési feltételekhez, ami nyilván keresési hibát okoz.

2012. aug. 18. 09:26
Hasznos számodra ez a válasz?
 5/8 A kérdező kommentje:

ez:

<form name="form1" method="post" action="">

<input name="q_search" type="text" id="q_search" value="">

<select name="q_where">

<option value="-1">Mindenütt keres</option>

<?php

$f = array(

"nev"=>"név",

"telefonszam"=>"telefonszám",

"email"=>"email cím",

"uzletag"=>"üzletág",

"ertek"=>"értékelés"

);


foreach($f AS $k => $v) {

$sel = ("q_where" == $k) ? 'selected="selected"' : "";

echo ' <option value="' . $k . '" ' . $sel . '>' . htmlspecialchars($v) . '</option>';

}


?>

</select>

<input type="submit" name="q_go" value="Keres">

</form>

<?php

$host = "mysql8.000webhost.com";//a sql host

$dbname ="a9426947_test";//adatbázis neve

$dbuser ="a9426947_test";//adatbázis felhasználóneve

$dbpass ="mark1593572846!";//adatbázis jelszava

$location = "fooldal.php?v=belepes&tolt=0";//ide vezet a sikeres bejelentkezés után

$bl = "fooldal.php?v=belepes&error=1";//ide vezet a sikertelen bejelentkezés után

//csatlakozás

mysql_connect ($host,$dbuser,$dbpass);

mysql_select_db($dbname);


$query="SELECT * FROM profil ";


if ($_POST['q_search'] !== "") {

if ($_POST['q_where'] == "-1") {

foreach($f AS $k => $v) {

$where[] ="$k like '%". mysql_real_escape_string( "q_search") ."%'";

}

}

else

$where[] = "q_where" . " like '%". "q_search" ."%'";

}


if(isset($where) AND count($where)>0)

$query .=" WHERE " . implode(" OR " , $where) ;



$result = mysql_query($query);

$num = mysql_num_rows($result);

$row_per_page="10";


$page= isset($_GET["page"])? intval($_GET["page"]) : 1 ;

$actual=($page-1)*$row_per_page;

$query.=" LIMIT $actual,$row_per_page";

$result = mysql_query( $query ) or die(mysql_error());


if ($num > 0 ) {


?>

<table border="1">

<tr>

<th>Név</th>

<th>Telefonszám</th>

<th>Email cím</th>

<th>Üzletég</th>

<th>Értékelés(5ös skála)</th>

<th>Munkavégzés helyszíne</th>

</tr>

<?php

while($a=mysql_fetch_assoc($result))

{

echo "<tr>";

echo "<td> ".$a["nev"]."</td>";

echo "<td> ".$a["telefonszam"]."</td>";

echo "<td> ".$a["email"]."</td>";

echo "<td> ".$a["uzletag"]."</td>";

echo "<td> ".$a["ertek"]."</td>";

echo "<td> ".$a["dolgoz"]."</td>";



echo "</tr>";

}

echo "</table>";



$q_search="q_search";

$q_where="q_where";

/*

$p = new pagination;

$p->Items($num);

$p->limit($row_per_page);

$p->target("?q_search=$q_search&q_where=$q_where");

$p->currentPage($page);

$p->nextLabel("");

$p->prevLabel("");

$p->nextIcon("►");

$p->prevIcon("◄");

$p->show();

*/

}

else

echo "<h3>NINCS TALÁLAT :(!</h3>";

?>



ezzel a hibával:


PHP Error Message


Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a9426947/public_html/szerelokell/kesz/10/3.php on line 52


Free Web Hosting

Unknown column 'q_where' in 'where clause'

jön elő!

2012. aug. 18. 20:57
 6/8 anonim ***** válasza:

$q_search = $_POST['q_search'];

$q_where = $_POST['q_where'];


foreach($f AS $k => $v) {

$where[] ="$k like '%". mysql_real_escape_string($q_search) ."%'";

}

}

else

$where[] = $q_where" . " like '%". $q_search ."%'";

}


a végén szintén csak stringet teszel a $q_search és $q_where változókba, de ha szándékosan van úgy akkor nem szóltam (de szerintem oda is a POST értékek kellenek)

2012. aug. 19. 02:00
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:

ezt lehet elrontottam :) :


else

$where[] = "q_where" . " like '%". $q_search ."%'";

}

ha a q_where egy létező mező az sql táblában

2012. aug. 19. 02:02
Hasznos számodra ez a válasz?
 8/8 A kérdező kommentje:

valami nem frankó(sztem elfelejtetted lezárni a "")

de inkább az eredeti kódot kéne átalakítani(visszamentem a generátorhoz!)

nos


$query="SELECT * FROM profil ";


if (req("q_search") != "") {

if (req("q_where") == "-1") {

foreach($f AS $k => $v) {

$where[] ="$k like '%". mysql_real_escape_string( req("q_search")) ."%'";

}

}

else

$where[] = req("q_where") . " like '%". mres( req("q_search") ) ."%'";

}


if(isset($where) AND count($where)>0)

$query .=" WHERE " . implode(" OR " , $where) ;



$result=mysql_query($query);

$num = mysql_num_rows ($result);

$row_per_page=10;


$page= isset($_GET["page"])? intval($_GET["page"]) : 1 ;

$actual=($page-1)*$row_per_page;

$query.=" LIMIT $actual,$row_per_page";

$result = mysql_query( $query ) or die(mysql_error());


if ($num > 0 ) {


?>

<table border="1">

<tr>

/**/

</tr>

<?php

while($a=mysql_fetch_assoc($result))

{

echo "<tr>";

/**/


echo "</tr>";

}

echo "</table>";



$q_search=req("q_search");

$q_where=req("q_where");

$p = new pagination;

$p->Items($num);

$p->limit($row_per_page);

$p->target("?q_search=$q_search&q_where=$q_where");

$p->currentPage($page);

$p->nextLabel("");

$p->prevLabel("");

$p->nextIcon("►");

$p->prevIcon("◄");

$p->show();


}

else

echo "<h3>No result!</h3>";

a req mres függvényeket kíséreltem meg róluk eltávolítani(mivel a szerver nem támogatja)

de csúnyán besült......Fatal error: Call to undefined function req() in /home/a9426947/public_html/szerelokell/kesz/10/3.php on line 36

2012. aug. 19. 08:34

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!