我正在尝试使用SlimPHP创建一个轻量级的PHP应用程序。我在数据库中有汽车型号名称的值,它们包含空格。
每当您尝试转到mysite.com/detail/2001/mazda/b2300%20pickup
等详细信息页面时,都会出错。
如果您访问的详细信息页面没有mysite.com/detail/2001/mazda/b2300
这样的空格,则可以正常使用。
我想用破折号替换空格。
这是我的错误的屏幕截图以及我在数据库中显示的内容:
路线:
$app->get('/detail/:year/:make/:model', 'getFull');
function getFull($year, $make, $model) {
$app = new \Slim\Slim();
try {
$db = getConnection();
$sql = "SELECT * FROM towdata WHERE YearMfg = ". $db->quote($year) . "AND Make = ". $db->quote($make) . "AND Model = ". $db->quote($model) . "ORDER BY YearMfg DESC";
$query = $db->query($sql);
$result_array = $query->fetchAll(PDO::FETCH_ASSOC);
$app->render('unit.php', array('all' => $result_array));
} catch(PDOException $e) {
echo "error: " . $e;
}
}
我建立网址的Unit.php
<a href=\"/detail/".strtolower($data['YearMfg'])."/".strtolower($data['Make'])."/".strtolower($data['Model'])."\">
感谢您的时间,我将非常感谢您的帮助。
答案 0 :(得分:0)
如果您想使用连字符/短划线代替空格,可以使用PHP str_replace
:http://php.net/str_replace
echo str_replace(' ', '-', 'honda civic'); // honda-civic