获取数据库中变量的ID


Getting ID of Variable in database

我想获得数据库中项目的id,将其设置为变量,并使用它。我对编程还是个新手。我是基于。

http://jameshamilton.eu/content/simple-php-shopping-cart-tutorial?PHPSESSID = 99 d373741727e3010a32319f1ebed001

cart.php?action=add&pdin=fbs
$product = $_GET[pdin];

我不能为'pdin'使用整数,所以我想使用它对应的整数id,并将其插入这行只接受整数的代码中?

$sql = sprintf("SELECT * FROM products WHERE pdin = %d;", $product);

所以我将取$product = 'pdin'找到它的id $id = 'id'并将其插入到上面的代码

$sql = sprintf("SELECT * FROM products WHERE id = %d;", $id);

我试着阅读这个sql FROM SELECT WHERE…

我会使用一个准备好的语句,这也会让你从SQL注入中更安全一点。从php到mysql使用什么数据库接口?

这里有一个选项:

$product = $_GET['pdin'];
$stmt = $db->Prepare("select * from products where pdin = ?");
$res = $db->GetAssoc($stmt,$product);

如果您通过key访问数组项,总是使用引号('"),否则PHP(不必要)首先检查,如果key是常量

好了,我明白了。我很抱歉我昨晚没有解释清楚。我每天的脑力是有限的,昨晚就没电了。

我想要的很简单。我想在数据库中找到一个项目相关的id。

$query  = "SELECT * FROM products WHERE pdin = '$product'";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
    $productID = $row['id'];
}

现在完成并返回正确的id。并且'item exists'函数正确地触发。

//function to check if a product exists
function productExists($productID) {
    //use sprintf to make sure that $productID is inserted into the query as a number - to prevent SQL injection
$sql = sprintf("SELECT * FROM products WHERE id = %d;", $productID); 
return mysql_num_rows(mysql_query($sql)) > 0;
}

Mark和michael Hatak;当你谈论在键上使用引号时,这是否意味着…

$sql = sprintf("SELECT * FROM products WHERE 'id' = %d;", $productID);

在'id'周围加引号?这是为了安全?请原谅,我是一个新来的平面设计师,不擅长代码。