[英]PHP Throws 500 Error
I am attempting to query a SQL Server Database and return the results onscreen. 我试图查询SQL Server数据库并在屏幕上返回结果。 My page loads as it should, but when I push the button to query SQL Server if I look at the console it shows a 500 error.
我的页面按原样加载,但当我按下按钮查询SQL Server时,如果我查看控制台,则显示500错误。
What do I need to alter so that the valid results are returned on screen as I need? 我需要更改什么才能在我需要时在屏幕上返回有效结果?
<select name="peopleinfo[]" multiple style="min-width: 200px;" id="peopleinfo">
<option value="red">Red</option>
<option value="blue">Blue</option>
</select>
<div><input type="submit" value="Submit" id="ajaxButton" onclick="ReturnIt()"></div>
<div id="result_data"></div>
<script>
function ReturnIt(){
var peopleinfo = $('#peopleinfo').val();
jQuery.ajax({
url: "",
type: 'POST',
dataType: "html",
data: { peopleinfo: peopleinfo },
success : function(result) {
$('#result_data').empty();
$('#result_data').append(result);
} ,
error: function(){
}
});
}
</script>
$peopleinfo = implode(',',$_REQUEST['peopleinfo']);
$option = array(); //prevent problems
$option['driver'] = 'mssql'; // Database driver name
$option['host'] = 'Lockwood'; // Database host name
$option['user'] = 'root'; // User for database authentication
$option['password'] = 'sa'; // Password for database authentication
$option['database'] = 'test'; // Database name
$option['prefix'] = ''; // Database prefix (may be empty)
$db = JDatabase::getInstance( $option );
$result = $db->getQuery(true);
$result->select($db->quoteName(array(".$peopleinfo.")));
$result->from($db->quoteName('[redheadstepchild]'));
$db->setQuery($result);
$row = $db->loadRowList();
print_r($row);
EDIT 编辑
This is what the dev console shows 这是开发控制台显示的内容
an error on this line jquery-1.12.4.js:10254
此行上的错误
jquery-1.12.4.js:10254
And this is the actual syntax when I click that 这是我点击它时的实际语法
// Do send the request
// This may raise an exception which is actually
// handled in jQuery.ajax (so no try/catch here)
xhr.send( ( options.hasContent && options.data ) || null );
I have added a try and catch exception, this will return the issue with your query 我添加了一个try和catch异常,这将返回您的查询问题
$peopleinfo = implode(',',$_REQUEST['peopleinfo']);
$option = array(); //prevent problems
$option['driver'] = 'mssql'; // Database driver name
$option['host'] = 'Lockwood'; // Database host name
$option['user'] = 'root'; // User for database authentication
$option['password'] = 'sa'; // Password for database authentication
$option['database'] = 'test'; // Database name
$option['prefix'] = ''; // Database prefix (may be empty)
try{
$db = JDatabase::getInstance( $option );
$result = $db->getQuery(true);
$result->select($db->quoteName(array(".$peopleinfo.")));
$result->from($db->quoteName('[redheadstepchild]'));
$db->setQuery($result);
}catch(Exception $e){
echo $e->getMessage();
}
$row = $db->loadRowList();
print_r($row);
Hello I made a module to accomplish what you are doing and it worked well. 您好,我制作了一个模块来完成您正在做的事情并且运行良好。 I'll put the example here might help you.
我会把这里的例子给你带来帮助。
Module: 模块:
<?php
defined('_JEXEC') or die;
include_once __DIR__ . '/helper.php';
// Instantiate global document object
$doc = JFactory::getDocument();
$js = <<<JS
(function ($) {
$(document).on('click', 'input[type=submit]', function () {
var value = $('input[name=data]').val(),
request = {
'option' : 'com_ajax',
'module' : 'ajax_search',
'data' : value,
'format' : 'raw'
};
$.ajax({
type : 'POST',
data : request,
success: function (response) {
$('.search-results').html(response);
}
});
return false;
});
})(jQuery)
JS;
$doc->addScriptDeclaration($js);
require JModuleHelper::getLayoutPath('mod_ajax_search');
?>
Helper: 帮手:
<?php
defined('_JEXEC') or die;
class modAjaxSearchHelper
{
public static function getAjax()
{
include_once JPATH_ROOT . '/components/com_content/helpers/route.php';
$input = JFactory::getApplication()->input;
$data = $input->get('data', '', 'string');
$db = JFactory::getDbo();
$query = $db->getQuery(true);
// Build the query
$query
->select($db->quoteName(array('id','name','email')))
->from($db->quoteName('#__banner_clients'))
->where($db->quoteName('name') . ' LIKE '. $db->quote('%' . $data . '%'));
//->order('id ASC');
$db->setQuery($query);
$results = $db->loadObjectList();
// Get output
$output = null;
foreach($results as $result){
$output .= '<h4><a href="' . ContentHelperRoute::getArticleRoute($result->id, $result->email) . '">' . $result->name . '</a></h4>';
}
if($output == null or empty($data))
{
$output = 'Sorry! No results for your search.';
}
return $output;
}
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.