Problemer med MySQL

Tags:    php

Jeg har nu gennemgået artiklen "I gang med PHP/mySQL",
http://www.udvikleren.dk/show_article.php?id=32

efter at jeg har indstalleret apache+php+mysql, jeg er ret sikker på at php delen virker som den skal, for jeg kan få den til at vise en phpinfo side
<?
phpinfo();
?>

Det virker, men når jeg så skal have det til at snakke sammen med mysql, så sker der ikke noget, jeg kan manuelt (i mysql promten) tilføje databaser og tabeller. og jeg kan også med phpadmin komme i kontakt med mysql, men det er også det eneste.

Artiklen handler om at lave et system, hvor man kan skrive kunstner og titel på en mp3 fil og så tilføje det i databasen, men når jeg så trykker ok, for at sende det, sker der ikke noget.
det er ligesom om den ikke finder mysql, for der sker det samme hvis jeg stopper mysql.


Databasen jeg har oprette:
CREATE DATABASE mp3;


og tabellen:
CREATE TABLE mp3numre (
kunstner CHAR(50),
titel CHAR(50),
id int(6) NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
dato timestamp(8)
);


Koden i php filen ser sådan ud:
<html>
<head>
<title>Tilføj MP3 nummer</title>
</head>

<body>
<h3 align="center">Tilføj MP3 nummer</h3><br>
<br>
<form action="<? echo $php_self ?>">
Kunstner:<br>
<input type="text" name="kunstner"><br>
<br>
Titel:<br>
<input type="text" name="titel"><br>
<br>
<input type="submit" name="add_mp3" value=" - OK - ">
</form>
<?
if($add_mp3) {
mysql_connect("localhost");
mysql_select_db("mp3");
$query = mysql_query("INSERT INTO mp3numre (kunstner, titel)" . "VALUES ('$kunstner','$titel')");
echo "Dit nummer er tilføjet. Tilføj flere eller vis dine numre <a href=\\"mp3er.php\\">her.</a>";
}
?>
</body>
</html>


Nogen der ved hvad jeg gør forkert??[Redigeret d. 18/05-03 19:24:34 af Martin Vester]



8 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Denne her kode skulle kunne indsætte noget i din database fra en php side
Fold kodeboks ind/udKode 

Du skal i anden øverste linie selv tilføje brugernavn og password mellem anførselstegnene, hvis du da har noget. Du skal i tredje øverste linie skrive dit databasenavn i stedet for mindatabase. Og selvfølgeligt skal du ændre min sql statement til noget der passer til din database. Den vil skrive på siden hvis der sker en fejl, samt hvad fejlen er.

(¯`·._.·[Brian Hvarregaard]·._.·´¯)



Jeg har nu gennemgået artiklen "I gang med PHP/mySQL",
http://www.udvikleren.dk/show_article.php?id=32

efter at jeg har indstalleret apache+php+mysql, jeg er ret sikker på at php delen virker som den skal, for jeg kan få den til at vise en phpinfo side
<?
phpinfo();
?>

Det virker, men når jeg så skal have det til at snakke sammen med mysql, så sker der ikke noget, jeg kan manuelt (i mysql promten) tilføje databaser og tabeller. og jeg kan også med phpadmin komme i kontakt med mysql, men det er også det eneste.

Artiklen handler om at lave et system, hvor man kan skrive kunstner og titel på en mp3 fil og så tilføje det i databasen, men når jeg så trykker ok, for at sende det, sker der ikke noget.
det er ligesom om den ikke finder mysql, for der sker det samme hvis jeg stopper mysql.


Databasen jeg har oprette:
CREATE DATABASE mp3;


og tabellen:
CREATE TABLE mp3numre (
kunstner CHAR(50),
titel CHAR(50),
id int(6) NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
dato timestamp(8)
);


Koden i php filen ser sådan ud:
<html>
<head>
<title>Tilføj MP3 nummer</title>
</head>

<body>
<h3 align="center">Tilføj MP3 nummer</h3>

<form action="<? echo $php_self ?>">
Kunstner:
<input type="text" name="kunstner">

Titel:
<input type="text" name="titel">

<input type="submit" name="add_mp3" value=" - OK - ">
</form>
<?
if($add_mp3) {
mysql_connect("localhost");
mysql_select_db("mp3");
$query = mysql_query("INSERT INTO mp3numre (kunstner, titel)" . "VALUES ('$kunstner','$titel')");
echo "Dit nummer er tilføjet. Tilføj flere eller vis dine numre <a href=\\"mp3er.php\\">her.</a>";
}
?>
</body>
</html>


Nogen der ved hvad jeg gør forkert??[Redigeret d. 18/05-03 19:24:34 af Martin Vester]


jeg har haft samme problem efter jeg installerede php, apache, mySQL ved hjælp af artiklen her på udvikleren, men nu har jeg fået det til at virke

gør sådan her:

1.) uninstaller alt (php, apache, mySQL)

2.) brug artiklerne på www.webcafe.dk (brug installations filerne fra webcafe.dk, de er forskellige fra dem her på udv.dk)

3.) det var vidst det, bare spørg hvis du har problemmer med at finde artiklerne på webcafe.dk eller andre problemmer.......


Hilsen

Martin Dybdal (Dybber)



Nu giver den denne fejl medelse:

Parse error: parse error, unexpected T_STRING in c:\\web\\apache\\apache\\htdocs\\mysql.php on line 4


<?php
$conn= mysql_connect("localhost","root");
mysql_select_db("mp3");
$result= mysql_query("insert into mp3numre(kunstner, titel) values ("R.E.M", "Automatic for the people")");
echo mysql_error();
?>

Du kludrer med " og '



<?php
$conn= mysql_connect("localhost","root");
mysql_select_db("mp3");
result = mysql_query("insert into mp3numre(kunstner, titel) values ("R.E.M", "Automatic for the people")");
echo mysql_error();
?>

har ikke noget pass da det kun er test


men nu får jeg følgende fejl
Parse error: parse error, unexpected '=' in c:\\web\\apache\\apache\\htdocs\\mysql.php on line 4



<?php
$conn= mysql_connect("localhost","root");
mysql_select_db("mp3");
result = mysql_query("insert into mp3numre(kunstner, titel) values ("R.E.M", "Automatic for the people")");
echo mysql_error();
?>

har ikke noget pass da det kun er test


men nu får jeg følgende fejl
Parse error: parse error, unexpected '=' in c:\\web\\apache\\apache\\htdocs\\mysql.php on line 4


<pre>result = ...</pre>
skal nok være:
<pre>$result = ...</pre>

Håber du kan bruge det:)

---
Hilsen Anders

[Redigeret d. 18/05-03 19:42:17 af Anders (r0x3r)]



Nu giver den denne fejl medelse:

Parse error: parse error, unexpected T_STRING in c:\\web\\apache\\apache\\htdocs\\mysql.php on line 4


<?php
$conn= mysql_connect("localhost","root");
mysql_select_db("mp3");
$result= mysql_query("insert into mp3numre(kunstner, titel) values ("R.E.M", "Automatic for the people")");
echo mysql_error();
?>



hmm prøv at fjern den der $result= ting du får alligevel ikke noget resultatsæt med tilbage, så den er i princippet overflødig.

(¯`·._.·[Brian Hvarregaard]·._.·´¯)[Redigeret d. 18/05-03 22:14:49 af Brian Hvarregaard]



Jeg fik ikke denne kode til at virke....
<?php
$conn= mysql_connect("localhost","root");
mysql_select_db("mp3");
$result= mysql_query("insert into mp3numre(kunstner, titel) values ("R.E.M", "Automatic for the people")");
echo mysql_error();
?>


Men fandt et andet eksempel som jeg fik til at virke:
<h3> Press RELOAD to add a record to the MySQL database:</h3>
<?
//establish user connection
mysql_connect("localhost");
//open up database
mysql_create_db("testdatabase");
mysql_select_db("testdatabase");
//create table
mysql_query("CREATE TABLE newone(firstName VARCHAR(25),lastName VARCHAR(25))");
mysql_query ("INSERT INTO newone (firstName, lastName) VALUES ('Amir', 'Khan')");
//display the information
$result = mysql_query ("SELECT * FROM newone");
while($row = mysql_fetch_array($result))
{
print ("Added record: " . $row["firstName"]." ".$row["lastName"]." <br>\\n");
}
//close user connection
mysql_close();
?>

Efter det, sammelignede jeg dette med det eksempel som Brian Hvarregaard gav, og fandt på den måde ad af hvad der var galt i det eksempel.
<?
$conn= mysql_connect("localhost","root");
mysql_select_db("mp3");
$result= mysql_query("insert into mp3numre(firstName, lastName) values ('R.E.M', 'Automatic for the people')");
echo mysql_error();
?>

Og til Jesper Kristensen, du havde ret i at jeg havde fejl i det med " og ', men den var gal fra starten :)

Og så har jeg stadig ikke fundet ud af hvad denne fejl betyder...
Parse error: parse error, unexpected T_STRING in c:\\web\\apache\\apache\\htdocs\\mysql.php on line 4
det finder jeg sikkert heller ikke ud af lige foreløbig.


Må sige jeg har lært en del om både php og MySQL, i skal alle ha mange tak for hjælpen.
Da jeg ikke mener at nogen kom med et konkret svar på hvad der skulle til får at det kom til at virke, tror jeg ikke jeg vil dele point ud danne gang (ved heller ikke hvem jeg så skulle gi dem til...).
Hvis nogen ikke er enig i det, så sig da til, for det skal da ikke være på grund af nogle sølle point at jeg måske ikke får hjælp en anden gang.



t