Avatar billede hejkuk Nybegynder
07. marts 2007 - 20:08 Der er 14 kommentarer

Database - select-problemer

Hej experten

Jeg har lavet en side på frac.dk med en database, og den kan sagtens  connecte - men når jeg skal vælge en database, så kommer den med en fejl

Her er min kode:
if( $link = mysql_connect( "192.168.1.3", "XXXXX", "XXXXXX" ) )
{
    echo "Forbundet succesfuldt";
}
else
{
    die( "Kunne ikke forbinde. (" . mysql_error() . ")" );
}

if( mysql_select_db( "hockeyspillere", $link ) )
{
    echo "Databasen er valgt med success";
}
else
{
    die( "Kunne ikke vælge database. (" . mysql_error() . ")" );
}

- eller er det noget inde på databasen der skal ændres?

Hilsen Henrik :-)
Avatar billede farving Nybegynder
07. marts 2007 - 20:29 #1
Hvilken error spytter den ud?

Mvh Carsten
Avatar billede hejkuk Nybegynder
07. marts 2007 - 20:40 #2
Forbundet succesfuldt
Kunne ikke vælge database. (Access denied for user 'romby'@'192.168.1.2' to database 'hockeyspillere')
Avatar billede farving Nybegynder
07. marts 2007 - 20:46 #3
og du er sikker på databasen hedder hockeyspillere og at du ikke tænker på tabellen?

Mvh Carsten
Avatar billede hejkuk Nybegynder
07. marts 2007 - 20:48 #4
overhovedet ikke - hvad er forskellen? :-)
Avatar billede farving Nybegynder
07. marts 2007 - 21:03 #5
Database -> Tabel -> kolonne -> celle

Database træet...

Jeg vil umiddelbart tro at du tænker på tabellen og kun har en database, og det er derfor den ikke kan finde ud af det ;)

tror du skal bruge hockeyspillere i din SQL-sætning

ex:
SELECT * FROM hockeyspillere

Mvh Carsten
Avatar billede hejkuk Nybegynder
07. marts 2007 - 21:09 #6
<?php
if( $link = mysql_connect( "192.168.1.3", "XXXXX", "XXXXXX" ) )
{
    echo "Forbundet succesfuldt";
}
else
{
    die( "Kunne ikke forbinde. (" . mysql_error() . ")" );
}

if( mysql_select_db( "romby", $link ) )
{
    echo "Databasen er valgt med success";
}
else
{
    die( "Kunne ikke vælge database. (" . mysql_error() . ")" );
}

echo "<form action='$PHP_SELF' method='GET'>";
echo "<br>";
echo "<input type='text' name='nr' value='nummer'>";
echo "<br>";
echo "<input type='text' name='navn' value='navn'>";
echo "<br>";
echo "<input type='text' name='position' value='position'>";
echo "<br>";
echo "<input type='text' name='bekraeft' value='bekraftet?'>";
echo "<br>";
echo "<input type='submit' value='gem!'>";
echo "</form>";

$sql = "INSERT INTO `hockeyspillere` ( `nr`, `navn`, `position`, `bekraeft` )
    values( {$nr}, {$navn}, {$position}, {$bekraeft} )";

$query = mysql_query( $sql, $link ) or die ( "Fejl i indsæt" );

mysql_close( $link );
?>

Dette er, hvad jeg har nu - den viser hele formen og "Fejl i indsæt" nedenunder- og når man poster formen får man også "Fejl i indsæt"
Avatar billede hejkuk Nybegynder
07. marts 2007 - 21:11 #7
Kan ses på http://romby.frac.dk/
Avatar billede farving Nybegynder
07. marts 2007 - 21:24 #8
prøv det her:


===========
<?php
if( $link = mysql_connect( "192.168.1.3", "XXXXX", "XXXXXX" ) )
{
    echo "Forbundet succesfuldt";
}
else
{
    die( "Kunne ikke forbinde. (" . mysql_error() . ")" );
}

if( mysql_select_db( "romby", $link ) )
{
    echo "Databasen er valgt med success";
}
else
{
    die( "Kunne ikke vælge database. (" . mysql_error() . ")" );
}

echo "<form action='$PHP_SELF?mode=insert' method='GET'>";
echo "<br>";
echo "<input type='text' name='nr' value='nummer'>";
echo "<br>";
echo "<input type='text' name='navn' value='navn'>";
echo "<br>";
echo "<input type='text' name='position' value='position'>";
echo "<br>";
echo "<input type='text' name='bekraeft' value='bekraftet?'>";
echo "<br>";
echo "<input type='submit' value='gem!'>";
echo "</form>";
if ($_GET['mode'] == "insert")
{
$sql = "INSERT INTO `hockeyspillere` ( `nr`, `navn`, `position`, `bekraeft` )
    values($_POST['nr'], '$_POST['navn']', '$_POST['position']', '$_POST['bekraeft']')";

$query = mysql_query( $sql, $link ) or die ( "Fejl i indsæt" );
}
mysql_close( $link );
?>
Avatar billede farving Nybegynder
07. marts 2007 - 21:26 #9
Ja den ovenover virker ikke... Prøv denne...


<?php
if( $link = mysql_connect( "192.168.1.3", "XXXXX", "XXXXXX" ) )
{
    echo "Forbundet succesfuldt";
}
else
{
    die( "Kunne ikke forbinde. (" . mysql_error() . ")" );
}

if( mysql_select_db( "romby", $link ) )
{
    echo "Databasen er valgt med success";
}
else
{
    die( "Kunne ikke vælge database. (" . mysql_error() . ")" );
}

echo "<form action='$PHP_SELF?mode=insert' method='POST'>";
echo "<br>";
echo "<input type='text' name='nr' value='nummer'>";
echo "<br>";
echo "<input type='text' name='navn' value='navn'>";
echo "<br>";
echo "<input type='text' name='position' value='position'>";
echo "<br>";
echo "<input type='text' name='bekraeft' value='bekraftet?'>";
echo "<br>";
echo "<input type='submit' value='gem!'>";
echo "</form>";
if ($_GET['mode'] == "insert")
{
$sql = "INSERT INTO `hockeyspillere` ( `nr`, `navn`, `position`, `bekraeft` )
    values($_POST['nr'], '$_POST['navn']', '$_POST['position']', '$_POST['bekraeft']')";

$query = mysql_query( $sql, $link ) or die ( "Fejl i indsæt" );
}
mysql_close( $link );
?>
Avatar billede hejkuk Nybegynder
07. marts 2007 - 21:27 #10
Nu fik jeg en anden fejl.. :-)
Avatar billede hejkuk Nybegynder
07. marts 2007 - 21:28 #11
Der er et eller andet på linje 35..

  values($_POST['nr'], '$_POST['navn']', '$_POST['position']', '$_POST['bekraeft']')";
Avatar billede farving Nybegynder
07. marts 2007 - 23:07 #12
Hvilke datatyper er dine kolonner i din tabel?

Mvh Carsten
Avatar billede hejkuk Nybegynder
08. marts 2007 - 11:28 #13
Har ikke så meget forstand på det - så det kan godt være at de er sat forkert

Nr er smallint(2)
Navn er varchar(100)
Position er varchar(100)
bekraeft er tinyint(1)
Avatar billede farving Nybegynder
08. marts 2007 - 22:06 #14
der har vi allerede svaret... der skal nemlig ' ' omkring texter men der må til gengæld aldrig puttes dem omkring integers/tal... derfor skal den linie som fejler være :

values($_POST['nr'], '$_POST['navn']', '$_POST['position']', $_POST['bekraeft'])";

Mvh Carsten
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester