Gå til innhold

Koble til mySQL database


Anbefalte innlegg

Jobber med en test side der jeg skal hente data ut fra en mySQL database. Scriptet mitt er

 

<html>
<body>
<h1>Navn på kontaktpersoner</h1>
<?php
$tilkobling = mysql_connect('localhost', 'root', '1234');

$mysql_select_db("prosjekt_database", $tilkobling);

$sql = "SELECT Fornavn, Etternavn, PersonID, Epost";
$sql = " FROM kontaktperson ORDER BY Etternavn";
$resultat = mysql_query($sql, $tilkobling);

while ( $rad = mysql_fetch_array($resultat)) {
$navn = $rad['Fornavn'] . " " . $rad['Etternavn'];
$epostadresse = $rad['Epost'];
echo "$navn kan du nå på $epostadresse<br>";
}
mysql_close($tilkobling)
?>
</body>
</html>

 

Men får bare feilmendliger

 

Når jeg Debugger scriptet i Zend får jeg opp:

Fatal error: Call to undefined function mysql_connect() in E:\Mine Dokumenter\Web Pages\DocumentRoot\php\kap01\test.php on line 5

 

Mens i en nettleser får jeg opp:

Fatal error: Function name must be a string in E:\Mine Dokumenter\Web Pages\DocumentRoot\php\kap01\test.php on line 7

 

Har WAMP5 1.6.3 innstallert og alle funsjoner fungerer, bortsett fra å koble til mySQL. Hva er det som kan være galt?

Lenke til kommentar
Videoannonse
Annonse
$mysql_select_db("prosjekt_database", $tilkobling);

Hvorfor $ i den linja? Du forsøker å kjøre en funksjon, ikke bruke en variabel ;)

6080230[/snapback]

 

mysql_select_db("prosjekt_database", $tilkobling);

Slik da

 

Men problemet er der fortsatt.

Endret av Delorian
Lenke til kommentar

Lag scriptet

<?php
phpinfo();
?> 

 

og kjør det. Et stykke nede i siden du får opp, skal du ha en overskrift "mysql" hvis ikke den er der, er det ikke mysql-tilkobling i php-oppsettet ditt, det høres ut for meg som om det kan være problemet.

 

Kjører du på en maskin du har full kontroll over, eller er det en maskin hos en ISP?

 

M.

Lenke til kommentar
Lag scriptet

<?php
phpinfo();
?> 

 

og kjør det. Et stykke nede i siden du får opp, skal du ha en overskrift "mysql" hvis ikke den er der, er det ikke mysql-tilkobling i php-oppsettet ditt, det høres ut for meg som om det kan være problemet.

 

Kjører du på en maskin du har full kontroll over, eller er det en maskin hos en ISP?

 

M.

6080662[/snapback]

 

mySQL vises i phpinfo.

Er min egen maskin ja, har avinstallert og gjenninstallert også.

Eneste jeg ikke har gjort er å formatere, men det er kansje litt drasktiskt, skal prøve å kjøre scripted på en annen maskin.

Lenke til kommentar

$sql = "SELECT Fornavn, Etternavn, PersonID, Epost";
$sql = " FROM kontaktperson ORDER BY Etternavn";

 

du har delt opp spørringen din. du må plassere alt inni en streng

 

feks slik:

$sql = "SELECT Fornavn, Etternavn, PersonID, Epost";
$sql .= " FROM kontaktperson ORDER BY Etternavn";

Lenke til kommentar
$sql = "SELECT Fornavn, Etternavn, PersonID, Epost";
$sql = " FROM kontaktperson ORDER BY Etternavn";

 

du har delt opp spørringen din. du må plassere alt inni en streng

 

feks slik:

$sql = "SELECT Fornavn, Etternavn, PersonID, Epost";
$sql .= " FROM kontaktperson ORDER BY Etternavn";

6081214[/snapback]

 

Ja det var der jeg nettopp fant ut, takk for alle svar

Lenke til kommentar

hvorfor ikke bare enkelt og greit skrive det sånn?

 

$hostname = "localhost"; 
$user = "_BRUKERNAVN_"; 
$password = "_PASSORD_"; 

$tilkobling = mysql_connect($hostname, $user, $password) or die("Umulig 
å få kontakt med database"); 
$db = mysql_select_db('_DATABASENAVN_', $tilkobling); 

$sql = "SELECT Fornavn, Etternavn, PersonID, EpostFROM kontaktperson ORDER BY Etternavn";
$resultat = mysql_query($sql, $tilkobling);

Lenke til kommentar

Stemmer det at du har

$sql = "SELECT Fornavn, Etternavn, PersonID, Epost";
$sql = " FROM kontaktperson ORDER BY Etternavn";

?

dersom du setter en . foran siste =, vil det kunne gå bedre.... Evt skriver hele SQLen som i en runde.

 

forresten så er det også en fin ide å bruke kode som:

$resultat = mysql_query($sql, $tilkobling);
if (!$resultat){
  print(mysql_error());
}

da vil du få litt mer info om hva som gikk galt. også lurt å ta en print($sql) for at du virkelig kjører det du tror at du kjører.... :)

 

Driver å jobber på et databasesystem med php og mysql om dagen, så jeg vet av bitter erfaring hvor lett det er å snuble... :blush:

 

 

 

M.

 

 

edit: UUps, sånn går det når man poster uten å ta en refresh først.... Forøvrig, ja det hender vel at programmere går berserk, nesten i hvert fall, har hatt trang til å hive PCen ut av vinduet en god del ganger.... :)

Endret av mysjkin
Lenke til kommentar
forresten så er det også en fin ide å bruke kode som:

$resultat = mysql_query($sql, $tilkobling);
if (!$resultat){
  print(mysql_error());
}

da vil du få litt mer info om hva som gikk galt.

 

 

 

M.

6081262[/snapback]

Eller enda bedre:

$resultat = mysql_query($sql, $tilkobling)
or print(mysql_error());

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...