Может кто-нибудь помочь мне, как связать переменную в строке?

Может кто-нибудь помочь мне в этой проблеме.

function get_shareSearch($conn, $searchBy) {
$id = "";
if(isset($_GET['share']))
{
$id = $_GET['share'];
if($id == "%")
{
$id = "This is not going to work";
}
}
$statement = db_create_statement($conn, "SELECT DISTINCT * FROM shares WHERE company LIKE '%" . $id . "%' OR issue_date LIKE '%" . $id ."%' ORDER BY $searchBy ASC" );
db_bind($statement, ':id', $id);
$resultset = db_fetch_resultset($statement);
return $resultset;

}

function db_bind($statement, $name, $value) {
return oci_bind_by_name($statement, $name, $value, 30);

}

Предупреждение: oci_bind_by_name (): ORA-01036: недопустимая переменная

Может ли кто-нибудь помочь мне, как изменить идентификатор переменной в операторе оракула, чтобы я мог иметь конкатенацию плюс к этому, чтобы иметь возможность связать переменную? Спасибо.

  db_bind($statement, ':id', $id);

1

Решение

Чтобы связать переменные в строке, они должны быть объединены (обозначение оракула):

 SELECT DISTINCT * FROM shares WHERE company LIKE '%' || :id || '%' OR issue_date LIKE '%' || :id || '%' ORDER BY $searchBy ASC
2

Другие решения

Других решений пока нет …