26. juni 2004 - 23:56Der er
11 kommentarer og 1 løsning
Column: "id" in where clause is ambiguous
Hvad er der galt når der står dette: Column: 'id' in where clause is ambiguous
koden er denne: <?php
if (!empty($_POST['sel_item_id'])) { //connect to database require("mysql.php"); $conn = mysql_connect($server, $brugernavn, $adgangskode) or die(mysql_error()); mysql_select_db($database,$conn) or die(mysql_error());
//valider varer samt hent navn og pris $get_iteminfo = "SELECT name FROM inventory WHERE id ='".$_POST['sel_item_id']."'"; $get_iteminfo_res = mysql_query($get_iteminfo) or die(mysql_error());
if (mysql_num_rows($get_iteminfo_res) < 1) { //ikke gyldig id, drop det header ("Location: indhold.php"); exit; } else { //hent info $name = mysql_result($get_iteminfo_res,0,'name');
if(!empty($_COOKIE['xxxxx.dk'])) { //føj info til cart-tabellen $addtocart = "INSERT INTO store_shoppertrack (sel_item_id, sel_item_qty, sel_item_size, sel_item_price, date_added, id) VALUES ('".$_POST['sel_item_id']."', '".$_POST['sel_item_qty']."', '".$_POST['sel_item_size']."', '".$_POST['sel_item_price']."', now(), '".$_COOKIE['xxxxx.dk']."')";
mysql_query($addtocart);
} else { //føj info til cart-tabellen $addtocart = "INSERT INTO store_shoppertrack (sel_item_id, sel_item_qty, sel_item_size, sel_item_price, date_added) VALUES ('".$_POST['sel_item_id']."', '".$_POST['sel_item_qty']."', '".$_POST['sel_item_size']."', '".$_POST['sel_item_price']."', now())"; $find_id = "SELECT id FROM store_shoppertrack WHERE sel_item_id='".$_POST['sel_item_id']."' AND sel_item_qty='".$_POST['sel_item_qty']."' AND sel_item_size='".$_POST['sel_item_size']."' AND sel_item_price='".$_POST['sel_item_price']."'";
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Jeg kan ikke se hvor det kulle ske hende, men det betyder at mysql ikke ved hvilken "id" den skal vælge (hvis du fx select'er fra to tabeller samtidigt og begge indeholder id).. Du kan løse det med at skrive tabelnavn.id
Du kan prøve at lave en søg&erstat, hvor du søger efter: die(mysql_error()); og erstatter med die("<b>SQL-error in ".__FILE__.':'.__LINE__.'</b> '. mysql_error());
så skulle den gerne give dig lidt mere information.
Jeg tror det.. Prøv at se filen igennem. Se efter mysql_query() .. hvor du laver en select fra to eller flere tabeller. Lav evt den die-erstat der hvor du finder en sådan select - så du kan være sikker på at du kigger efter fejlen det rigtige sted.
<?php //connect to database require("mysql.php"); $conn = mysql_connect($server, $brugernavn, $adgangskode) or die(mysql_error()); mysql_select_db($database,$conn) or die(mysql_error());
$display_block = "<h1>Detaljer om varen</h1>";
//validering af varen $get_items = "SELECT c.name, si.name, si.price, si.description, si.picture FROM inventory AS si left join category AS c ON c.id = si.category WHERE si.id = '".$_GET['item_id']."'";
$get_items_res = mysql_query($get_items) or die (mysql_error());
//Lav et "brødkrummespor" $display_block .= "<p><strong><em>Du ser på:</em><br/>"; $display_block .= $name."</strong></p>"; $display_block .= "<table cellpadding=3 cellspacing=3>"; $display_block .= "<tr><td valign=middle align=center><img src=\"".$picture."\"></td><td valign=middle><P><strong>Beskrivelse:</strong><br>".$description."</p><p><strong>Pris:</strong> kr. ".$price."</p><form method=post action=\"addtocart.php\">";
//hent størrelser $get_sizes = "SELECT item_size FROM store_item_size where item_id='".$_GET['item_id']."' ORDER BY item_size"; $get_sizes_res = mysql_query($get_sizes) or die(mysql_error());
if (mysql_num_rows($get_sizes_res) > 0) { $display_block .= "<p><strong>Findes i størrelserne og farverne: </strong><select name=\"sel_item_size\" onchange=\"java script:document.Size.submit();\">";
//hent antal $get_qty = "SELECT store_item_qty FROM store_item_size where item_id = ".$_GET['item_id']." ORDER BY store_item_qty"; $get_qty_res = mysql_query($get_qty) or die(mysql_error());
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.