我无法在php strlen()中获取产品id

我无法在php strlen()中获取产品id,php,web,Php,Web,我想获取产品的id,但当我尝试时,我看到: strlen中遇到的非数字值($name-8) 还有别的办法吗?我想你是说 <?php $name = "product_" $lens = strlen($name - 8); $id = substr($name , 8 , $lens); $query = query("SELECT * FROM product WHERE product_id= ".escape_string($id)." "); ?> 但

我想获取产品的id,但当我尝试时,我看到:

strlen中遇到的非数字值($name-8)

还有别的办法吗?

我想你是说

<?php  
  $name = "product_"
  $lens = strlen($name - 8); 
  $id = substr($name , 8 , $lens);
  $query = query("SELECT * FROM product WHERE product_id= ".escape_string($id)." ");
?>
但实际上您并不需要
$lens
,因为您可以这样做

$lens = strlen($name) - 8;
这将自动为您提供剩余的字符

现在,你得到警告的原因是。换句话说,您正试图从字符串中减去一个数字:

$id = substr( $name, 8 );

在您发布的代码中,没有“ID”,只有“产品”NAMEI认为您应该考虑使用<代码> $ID= PrimgRead(“/[^ 0 9] /”,'',$name);<代码>。。。。这也将为您保存“转义字符串”,因为您知道字符串中只有数字
$name - 8