/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
syntax fejl, hvor.
Fra : Lasse Stig Thomsen


Dato : 12-06-01 02:49

Hejsa

Jeg er ved ligge sidste hånd på min hjemmeside men mystisk nok får jeg denne
fejl meddelse:


Unable to connect to SQL server. Reason: You have an error in your SQL
syntax near '' at line 1


når jeg eksekevere et link der ser således ud:

www.retel.dk/nyheder/read.php?id=1

Jeg kan godt hive et x antal posteringer ud fra min mysql db ved.

SELECT * FROM nyheder order by id desc limit 25

Men når jeg så vil lave et link til en specifikt "ramme" hvor den kun hive
den valgte ud bruger jeg:

SELECT * FROM nyheder where id=$id

Men så giver den ovenstående gejl.





 
 
Nils Lastein (12-06-2001)
Kommentar
Fra : Nils Lastein


Dato : 12-06-01 09:23

"Lasse Stig Thomsen" <lasse@tt-trading.dk> wrote in message
news:UxeV6.4429$rs4.937128@news010.worldonline.dk...
> Hejsa
> Jeg er ved ligge sidste hånd på min hjemmeside men mystisk nok får jeg
denne
> fejl meddelse:


Hvis du nu lige laver en phps-version af dit script, så har vi en mulighed
for at hjælpe dig.

Nils

--
-- usenet etikette
http://www.usenet.dk/netikette/essentiel.html
--



Lasse Stig Thomsen (12-06-2001)
Kommentar
Fra : Lasse Stig Thomsen


Dato : 12-06-01 22:19

Her kommer det så:

Jeg har et link der hedder: www.retel.dk/nyheder/read.php?id=2

og det henter så dette frem:
<?
$server = "*******";
$brugernavn = "******";
$password = "'*******";
$db_navn = "******";

if (!mysql_pconnect($server, $brugernavn, $password)) {
echo mysql_error()."\n";
die("Unable to connect\n");
}

mysql_select_db("$db_navn")
or die("Unable to select db ".mysql_error()."\n");

$result = mysql_query("SELECT * FROM nyheder where id='$id'")
or die( "Unable to connect to SQL server. Reason: ".mysql_error());

while ($row = mysql_fetch_array($result)) {
?>

<table border="0" width="450" align="center" cellspacing="1"
bordercolor="#BECAD6">
<tr>
<td><font face="Verdana,Arial, Helvetica, sans-serif" size="1"
color="silver"><b><?echo ($row[dato]);?></b></td
</tr>
<tr>
<td><font face="Verdana,Arial, Helvetica, sans-serif" size="3"
color="silver"><b><?echo ($row[overskrift]);?><br></font></b></td>
</tr>
<tr>
<td><font face="Verdana,Arial, Helvetica, sans-serif" size="2"
color="silver"><?echo nl2br($row[nyheden]);?></td>
</tr>

<tr>
<td><font face="Verdana,Arial, Helvetica, sans-serif" size="2"
color="silver"><b><?echo nl2br($row[link]);?></b></td><tr><br>
<td><font face="Verdana,Arial, Helvetica, sans-serif" size="1"
color="silver"><b><?echo nl2br($row[skrevetaf]);?></b></td>
</tr></table><br><br><br>
</tr></table><br><br><br>

<?

}

mysql_close()
?>

Men det giver den syntax fejl i line 1.

Nogen der kan hjælpe nu?


"Nils Lastein" <nila@dsr.kvl.dk> wrote in message
news:skkV6.4854$rs4.977162@news010.worldonline.dk...
> "Lasse Stig Thomsen" <lasse@tt-trading.dk> wrote in message
> news:UxeV6.4429$rs4.937128@news010.worldonline.dk...
> > Hejsa
> > Jeg er ved ligge sidste hånd på min hjemmeside men mystisk nok får jeg
> denne
> > fejl meddelse:
>
>
> Hvis du nu lige laver en phps-version af dit script, så har vi en
mulighed
> for at hjælpe dig.
>
> Nils
>
> --
> -- usenet etikette
> http://www.usenet.dk/netikette/essentiel.html
> --
>
>



Jakob Færch (12-06-2001)
Kommentar
Fra : Jakob Færch


Dato : 12-06-01 22:29

In article <bHvV6.9242$rs4.1141984@news010.worldonline.dk>,
"Lasse Stig Thomsen" <lasse@tt-trading.dk> wrote:

> Her kommer det så:
>
> Jeg har et link der hedder: www.retel.dk/nyheder/read.php?id=2
>
> og det henter så dette frem:
> <?
> $server = "*******";
> [klip]
> Men det giver den syntax fejl i line 1.
>
> Nogen der kan hjælpe nu?

Måske kræver din server, at du starter php-blokke med
<?php
i stedet for bare
<?

- hvis syntaksfejlen er i linie 1, kan jeg i hvert fald ikke rigtig se,
at der skulle kunne være andet galt...

/Jakob

Steen Berg Andersen (13-06-2001)
Kommentar
Fra : Steen Berg Andersen


Dato : 13-06-01 10:00

Hej Lasse,

Jeg har studeret din kode. Hermed et par kommentarer:

Du mangler generelt en variabel til at holde din forbindelse
til MySQL-databasen. Jeg har vedlagt en MySQL-wrapper,
som jeg bruger til noget Content Management System, jeg
udvikler, mens jeg venter på et job.

Den er klasse-baseret og bruger en configurations-fil. Hvis du
har brug for hjælp med at få det til at virke, kan du skrive
direkte til mig. Ellers kan du se metoden i vedlagte fil.

Linie 25, 29, 33, 38 og 40:
Når du bruger mysql_fetch_array, skal du referere til
$row["dato"], $row["overskrift"] osv.

Med venlig hilsen

Steen Berg Andersen
Systems Developer






Steen Berg Andersen (13-06-2001)
Kommentar
Fra : Steen Berg Andersen


Dato : 13-06-01 10:55

Hmm! Man kan ikke sende vedhæftede filer. Så må I få det som copy/paste...

<?
/*

****************************************************************************
**
*
*
* Object : Class MySQL()
*
*
*
* Function: Provides the essential and generic functionality to all
derived *
* objects.
*
*
*
* Needs : This class should not depend on anything other than the
*
* database wrapper object, since it is the foundation for other
*
* elements.
*
*
*
* Author : Steen Berg Andersen
*
*
*
* Created : 2001-06-03 (YYYY-MM-DD)
*
*
*
* Changed :
*
*
*

****************************************************************************
**
*/

include_once('simplesite/Config/simpleConfig.php');

class MySQL
{
var $DBconn;

function MySQL()
{
$this->DBopen();
}

function _MySQL()
{
$this->DBclose();
}

/*
* DBopen
* Desc: Establishes connection to the database.
* Parms:
* None. The necessary parms are defined in the simpleConfig file.
* Returns:
* Database handle on success.
* Error message on error.
*/
function DBopen()
{
$this->DBconn =
mysql_connect(SIMPLE_DATABASE_HOST,SIMPLE_DATABASE_USER,SIMPLE_DATABASE_PASS
);

if ($this->DBconn == false)
{
return mysql_errno().": ".mysql_error()."<br>";
}
return $this->DBconn;
}

/*
* DBclose
* Desc: Frees memory used by $stmt and terminates connection to the
database.
* Parms:
* $stmt - Query result identifier. Optional.
* Returns:
* Nothing.
*/
function DBclose($stmt ="")
{
if(!empty($stmt))
{
@mysql_free_result($stmt);
}
@mysql_close($this->DBconn);
}

/*
* DBselect
* Desc: Retrieve data from the database.
* Parms:
* $tables - comma separated list of table names.
* $fields - comma separated list of field names or "*".
* $where - SQL Where clause (e.g. "where id=2").
* $groupBy - SQL Group clause (e.g. "group by name").
* $orderBy - SQL Order clause (e.g. "order by name").
* $show_debug - If true then print SQL query.
* Returns:
* 2d array of rows and columns on success.
* Error String on failure.
*/
function DBselect($tables, $fields, $where="",$groupBy="", $orderBy="",
$show_debug=false)
{
$this->DBopen();

/*
* Return the data requested by the fields, tables and where.
* Return the data in a 2 dimensional array.
*/
$values = array();
$field_array = split(", ?", $fields);

$max_fields = ($fields == "*")? 20 : count($field_array);

if(!empty($where))
{
if (!strstr(strtolower($where),"where "))
{
$where = "where $where";
}
}

$query = "SELECT $fields FROM $tables $where $groupBy $orderBy";

if($show_debug == true)
{
echo "query=$query<br>\n";
}

$stmt = mysql_db_query(SIMPLE_DATABASE_NAME, $query, $this->DBconn);

if($stmt == false)
{
return mysql_errno().": ".mysql_error()."<br>";
}

while($fields = mysql_fetch_assoc($stmt))
{
$values[] = $fields;
}

$this->DBclose($stmt);
return $values;
}

/*
* DBinsert
* Desc: DBinsert data into the database.
* Parms:
* $tableName - database table name.
* $values - associative array of field names and corresponding values.
* $debug - If true then return SQL query without executing.
* Returns:
* Nothing on success.
* Error String on failure.
*/
function DBinsert($tableName, $values, $debug=false)
{

/*
* DBinsert the $values into the database.
* e.g.
* $values = array ("name"=>"kris","email"=>"karn@nucleus.com");
* DBinsert ("employee", $values);
*/
return $this->SetData("", $tableName, $values, $debug);
}

/*
* DBupdate
* Desc: DBupdate data in the database.
* Parms:
* $tableName - database table name.
* $values - associative array of field names and corresponding values.
* $where - SQL Where clause to specify which row(s) to update.
* $debug - If true then return SQL query without executing.
* Returns:
* Nothing on success.
* Error String on failure.
*/
function DBupdate($tableName, $values, $where="", $debug=false)
{

/*
* DBupdate the $values in the database.
* e.g.
* $values = array ("name"=>"kris","email"=>"karn@nucleus.com");
* $where = "WHERE id='1'";
* DBupdate ("employee", $values, $where);
*/
if (empty($where))
{
$where = " ";
}
return $this->SetData($where, $tableName, $values, $debug);
}

function SetData($type, $tableName, $fieldValues, $debug=false)
{

$this->DBopen();

$i = 0;
$fields = "";
$values = "";
$updateList = "";

while (list ($key, $val) = each ($fieldValues))
{
if ($i > 0)
{
$fields .= ", ";
$values .= ", ";
$updateList .= ", ";
}

$fields .= $key;

/*
* If you do not want to add quotes
* around the field then specify
* ##NO_QUOTES## when passing in the value.
* For update statements like
* "update poll set total_votes=total_votes+1",
* you do not want
* the value field to have quotes around it.
*/

if (strstr($val,"##NO_QUOTES##"))
{
$val = str_replace ("##NO_QUOTES##", "", $val);
$updateList .= "$key=$val";
$values .= $val;
}
else
{
$updateList .= "$key='$val'";
$values .= "'$val'";
}
$i++;
}

if (empty($type))
{
$query = "INSERT INTO $tableName ($fields) VALUES ($values)";
}
else
{
$query = "UPDATE $tableName SET $updateList $type";
}

if ($debug)
{
@mysql_close($this->DBconn);
return $query;
}

$stmt = mysql_db_query(SIMPLE_DATABASE_NAME, $query, $this->DBconn);

if (!$stmt)
{
$error = mysql_error ($this->DBconn);

if (strstr($error, "Duplicate entry"))
{
$error = "Field value already in use, choose another.<br>\n";
}
}

$this->DBclose($stmt);

return $error;
}

/*
* DBdelete
* Desc: DBdelete data from the database.
* Parms:
* $tableName - database table name.
* $where - SQL Where clause to specify which row(s) to delete.
* $debug - If true then return SQL query without executing.
* Returns:
* Nothing on success.
* Error String on failure.
*/
function DBdelete($tableName, $where="", $debug=false)
{

$this->DBopen();

/*
* DBdelete a row from the specified table.
*/
if (!empty($where))
{
if (!strstr(strtolower($where),"where "))
{
$where = "where $where";
}
}

$query = "DELETE FROM $tableName $where";

if ($debug)
{
@mysql_close($this->DBconn);
return $query;
}

$stmt = mysql_db_query(SIMPLE_DATABASE_NAME, $query, $this->DBconn);

if (!$stmt)
{
$error = mysql_error ($this->DBconn);
}

$this->DBclose($stmt);

return $error;
}
}
?>



Martin (12-06-2001)
Kommentar
Fra : Martin


Dato : 12-06-01 10:15

On Tue, 12 Jun 2001 03:48:55 +0200, "Lasse Stig Thomsen"
<lasse@tt-trading.dk> wrote:

>Hejsa
>
>Jeg er ved ligge sidste hånd på min hjemmeside men mystisk nok får jeg denne
>fejl meddelse:
>
>
> Unable to connect to SQL server. Reason: You have an error in your SQL
>syntax near '' at line 1
>
>
> når jeg eksekevere et link der ser således ud:
>
>www.retel.dk/nyheder/read.php?id=1
>
>Jeg kan godt hive et x antal posteringer ud fra min mysql db ved.
>
>SELECT * FROM nyheder order by id desc limit 25
>
>Men når jeg så vil lave et link til en specifikt "ramme" hvor den kun hive
>den valgte ud bruger jeg:
>
>SELECT * FROM nyheder where id=$id

Prøv med SELECT * FROM nyheder where id='$id'
Istedet...
Altså ' ' imellem $id

--
Bye for now Martin
http://natten-i.dk
Email: martini@mailme.dk

Jonas Delfs (12-06-2001)
Kommentar
Fra : Jonas Delfs


Dato : 12-06-01 10:46

"Lasse Stig Thomsen" <lasse@tt-trading.dk> skrev i en meddelelse
news:UxeV6.4429$rs4.937128@news010.worldonline.dk...

> når jeg så vil lave et link til en specifikt "ramme" hvor den kun hive
> den valgte ud bruger jeg:
>
> SELECT * FROM nyheder where id=$id
>
> Men så giver den ovenstående gejl.

Tjek lige at $id har en værdi - det kan være at register_globals ikke er On.
Eller måske bruger du $id længere oppe i dit script..

--
Mvh. Jonas Delfs, http://delfs.dk

"Rigtige mænd scorer på ICQ" - Christian Jørgensen



Lasse Stig Thomsen (14-06-2001)
Kommentar
Fra : Lasse Stig Thomsen


Dato : 14-06-01 09:30

Jeg har lige fået en mail fra azero om at der er problemer med min side på
deres server, så mon ikke det er det der er fejlen, men tak for jeres hjælp
"Lasse Stig Thomsen" <lasse@tt-trading.dk> wrote in message
news:UxeV6.4429$rs4.937128@news010.worldonline.dk...
> Hejsa
>
> Jeg er ved ligge sidste hånd på min hjemmeside men mystisk nok får jeg
denne
> fejl meddelse:
>
>
> Unable to connect to SQL server. Reason: You have an error in your
SQL
> syntax near '' at line 1
>
>
> når jeg eksekevere et link der ser således ud:
>
> www.retel.dk/nyheder/read.php?id=1
>
> Jeg kan godt hive et x antal posteringer ud fra min mysql db ved.
>
> SELECT * FROM nyheder order by id desc limit 25
>
> Men når jeg så vil lave et link til en specifikt "ramme" hvor den kun hive
> den valgte ud bruger jeg:
>
> SELECT * FROM nyheder where id=$id
>
> Men så giver den ovenstående gejl.
>
>
>
>



Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408868
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste