[mysql/php] select zonder output *

Pagina: 1
Acties:
  • 30 views sinds 30-01-2008

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

Topicstarter
Hi,

Ik zit met een klein probleempje waar ik niet uit kom.
Ik log (met perl en isdntrace) alle inkomende telefoontjes in een sql database en via php heb ik die opvraagbaar gemaakt via een website.
Eitje, geen probleem...
maar nu heb ik er nog een table bij hangen met naam en nummer, zodat ik op de site ook gelijk de naam bij het nummer zie. dat werkt zolang er een entry van is.
maar als het nummer niet in de db staat geeft hij dus een vette foutmelding. voor iedere entry die er niet in staat..

----- foutmelding -----
Warning: Supplied argument is not a valid MySQL result resource in /usr/local/www/data/secure/telephone.php on line 31
----- foutmelding -----

en die 31 dat is dit regeltje:
$row = mysql_fetch_row($result2);

ik heb echt geen idee meer hoe ik dit op moet lossen.. ben al met 'if' bezig geweest maar daar geeft hij alleen maar fouten op :(

weet iemand wat ik aan zoiets kan doen?
als er meer info nodig is hoor/lees ik dat wel...

Verwijderd

Op vrijdag 08 februari 2002 17:00 schreef possamai het volgende:
----- foutmelding -----
Warning: Supplied argument is not a valid MySQL result resource in /usr/local/www/data/secure/telephone.php on line 31
----- foutmelding -----

en die 31 dat is dit regeltje:
$row = mysql_fetch_row($result2);


als er meer info nodig is hoor/lees ik dat wel...
Ja er is meer info nodig namelijk de regels voor de error want de fout zit in $result die de verkeerde waarde bevat.

Verwijderd

Op vrijdag 08 februari 2002 17:04 schreef borganism het volgende:
Ja er is meer info nodig namelijk de regels voor de error want de fout zit in $result die de verkeerde waarde bevat.
Idd, geef FF de regel waar de error in zit. Misschien heb je ergens gewoon een tikfout in gemaakt, gebeurt vaker en MySQL ziet dat niet zoals jij over een sgrijffout heen zou lezen, dus kijk daar eens naar, controleer dus alle varibale namen ed. En post de error gevende regels.

edit:

post 700 :7
vorige week had ik ook al mn 700ste post :?

Verwijderd

probeer eens @mysql_fetch_row

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

Topicstarter
<?php
while ($myrow = mysql_fetch_row($result)) {
$result2 = mysql_query("SELECT * FROM callid where phone_nr = $myrow[0]");
$row = mysql_fetch_row($result2); #dit is die regel 31
?>

dit is het stukje...
die $result werkt gewoon prima..
het is die $result2 die moelijkheden geeft..
en dan alleen als hij geen output krijgt..
dus dan is het gewoon een select zonder dat er wat uit komt.
dan is de $result2 blijkbaar te leeg en dan trekt ie het niet... misschioen datik er iets voor moet bouwen zodat hij eerst checkt of $result2 wel iets bevat maar ik zou niet weten hoe..

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

Topicstarter
Op vrijdag 08 februari 2002 17:10 schreef Nokia het volgende:
probeer eens @mysql_fetch_row
dan doet ie het helemaal niet...
@iets is volgens mij een perl array.. niet php...
aar ik kan het mis hebben, zo lang werk ik er nog niet mee..

Verwijderd

Volgens mij heb je op regel 29 mysql_fetch_row met mysql_fetch_array verwisseld.

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

Topicstarter
okee hier even het hele pakketje incl. het verbinden met de sql db.
zo is het misschien wat duidelijker..

----- begin -----
$db = mysql_connect("localhost", "username", "password") or die("Could not connect");
mysql_select_db("de-db",$db);
$result = mysql_query("SELECT * FROM table1") or exit ("Invalid query");
?>

Hier tussen staat wat html om het kopje te maken met de velden enzo. dat werkt allemaal wel

<?php
while ($myrow = mysql_fetch_row($result)) {
$result2 = mysql_query("SELECT * FROM table2 where phone_nr = $myrow[0]");
$row = mysql_fetch_row($result2);

?>

en hier staat hoe alles een beetje ingevuld gaat worden.
met $myrow[x] als de variablen uit $result en $row[x] als de variable die uit $result2 komt (als er een entry in de db staat)

<?php
}
mysql_close($db);
?>
----- einde -----

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

vriende
den [pph] en [./php] (zonder .)zijn er niet voor niets :

Doet iets met Cloud (MS/IBM)


Verwijderd

Op vrijdag 08 februari 2002 17:15 schreef possamai het volgende:
PHP:
1
2
3
4
5
<?
while ($myrow = mysql_fetch_row($result)) {
$result2 = mysql_query("SELECT * FROM callid where phone_nr = $myrow[0]");
$row = mysql_fetch_row($result2); #dit is die regel 31
?>
opm 1: waarom 2 queries als het ook met 1 kan (hint: LEFT JOIN)

opm 2: echo eens wat variabelen als een Query vaag doet, zoals $myrow[0] en de query zelf.

Verder gebruik ik zelf altijd mysql_fetch_array

  • xzenor
  • Registratie: Maart 2001
  • Laatst online: 14-10-2022

xzenor

Ja doe maar. 1 klontje suiker.

Topicstarter
Op vrijdag 08 februari 2002 17:42 schreef peidor het volgende:

[..]

opm 1: waarom 2 queries als het ook met 1 kan (hint: LEFT JOIN)

opm 2: echo eens wat variabelen als een Query vaag doet, zoals $myrow[0] en de query zelf.

Verder gebruik ik zelf altijd mysql_fetch_array
wat ik al zei, ik werk er nog niet zo lang mee..
ik weet ook niet alles.
dit leek mij de enige manier...
die fetch_array heb ik ook al geprobeerd.. geeft exact dezelfde ouput..

Verwijderd

mysql_fetch_array geeft een array terug met de kolomnamen, dat is wat handiger dan kolomnummers, als bij mysql_fetch_row.

Wat geeft een echo van de query eigenlijk?

dus zoiets:
PHP:
1
2
3
4
5
6
7
<?
while ($myrow = mysql_fetch_row($result)) {
$query2="SELECT * FROM table2 where phone_nr = $myrow[0]";
echo $query2;
$result2 = mysql_query($query2);
$row = mysql_fetch_row($result2);
?>

Uitsmijter
allin one query:
code:
1
SELECT * FROM table1 LEFT JOIN table2 ON table2.phone_nr= table1.tel_nr

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Standaard PHP functie, zie beschrijving op PHP.net van de de functie.

Te laag niveau.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.