sql >> Databasteknik >  >> RDS >> Mysql

PHP PDO-förberedda uttalanden och värdebindning ger fel med ogiltig parameternummer

Försökte du skicka in hela uttrycket som bindningsvärde?

$sql = 'INSERT INTO '.POLYGON_TABLE.' (user_id, polygon, polygon_type) VALUES (:userId,  PolygonFromText(:polygonArea), :polygonType)';


$sth = $this->pdo->prepare($sql);
$area = sprintf("POLYGON((%s))", $polygon->getPolygonAsText()); 
$sth->bindValue(':userId', $polygon->getUserId(), \PDO::PARAM_INT);
$sth->bindValue(':polygonArea', $area, \PDO::PARAM_STR);
$sth->bindValue(':polygonType', $polygon->getPolygonType(), \PDO::PARAM_STR);


  1. Hur man kör och hanterar MySQL-säkerhetskopior för Oracle DBA

  2. Kan %NOTFOUND returnera null efter en hämtning?

  3. SQL-serverprestandastatistik för att ligga steget före i spelet

  4. En översikt över genererade kolumner för PostgreSQL