我正在尝试使用PDO和我第一次创建应用程序
try {
$db = new PDO('mysql:host=localhost;dbname=DBname', 'user', 'pass');
} catch(PDOException $e){
echo '<div class="errorMSG">Failed to connect to database. Please try to refresh this page in 1 minute. However, if you continue to see this message please contact your system administrator.</div>';
echo '<br /><br />' . $e->getMessage();
exit();
}
Run Code Online (Sandbox Code Playgroud)
当然我有更改传递用户和DBname到正确的一次,但我得到一个错误找不到驱动程序
因此,通过少量搜索,我发现我需要启用pdo_mysql,但我似乎无法找到我在哪里做以及如何做?有人可以帮助我如何启用它和/或让它在我的本地机器上工作.我有Windows 7.我找不到我的php.int所在的位置.
谢谢 :)
我试图从多个表中提取数据,当我使用 ORDER BY 日期时间字段时,它会在至少 10 秒后返回结果,但是如果我在没有 ORDER BY 的情况下执行相同的查询,则它会在 2 秒内返回结果。
这是我当前的查询
SELECT
ph.call_subject AS callSubject,
ac.account_name AS accountName,
DATE_FORMAT(ph.trigger_on, "%c/%e/%Y %h:%i %p") AS triggerOn,
ind.name AS industry,
cc.call_code_name AS callCode
FROM phone_calls AS ph
INNER JOIN accounts AS ac ON ph.account_id = ac.account_id
INNER JOIN industries AS ind ON ind.industry_id = ac.industry_id
INNER JOIN call_codes AS cc ON ph.call_code_id = cc.call_code_id
WHERE ac.status = 1 AND ph.status = 1 AND ph.owner_id = 1 AND ac.do_not_call = 0
AND ph.trigger_on …
Run Code Online (Sandbox Code Playgroud) 我之前从未使用过FOREIGN KEYS.我总是将id放在一个关键列上,但它不一定是外键.所以它就像一个外键,但事实并非如此.
所以,如果我有以下2个表
CREATE TABLE `accounts` (
`account_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(60) NOT NULL,
`owner_id` int(11) unsigned NOT NULL,
PRIMARY KEY (`account_id`),
KEY `owner_id` (`owner_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `users` (
`user_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(60) NOT NULL
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Run Code Online (Sandbox Code Playgroud)
列account.owner_id链接到users.user_id但未设置外键关系.
所以我可以做这样的事情
SELECT
a.name AS account_name,
u.name AS user_name FROM
accounts AS a INNER JOIN users AS u ON u.user_id = a.owner_id
Run Code Online (Sandbox Code Playgroud)
因此,在了解了FOREIGN KEYS是什么以及他们做了什么后,我创建了一个外键,就像这样.
ALTER TABLE accounts …
Run Code Online (Sandbox Code Playgroud) 我在尝试解决问题时遇到了麻烦.
在我的应用程序中,我生成了一个text-input和checkbox-inputs以及一个select元素.现在在某些情况下我需要为用户预先填充这些值,我不希望用户能够更改它们.我只希望这些元素是只读的.但是,我需要能够使用AJAX将重新填充的值传递给服务器.
如果我将元素中的disable属性设置为TRUE,那么当我使用POST方法提交表单时,我将无法读取传递的值.如果我有输入复选框的只读属性并选择那么我就不会有这个问题.
我的问题是,即使元素被禁用,我也需要传递这些值.
请注意,我根据从AJAX请求传回的值生成这些字段,并且在某些情况下,我创建了多个用于不同目的的复选框.
以下是我创建输入的代码
$('#result_code_menu').change(function () {
//reset
$('#listNextCallDates').html('');
$.getJSON("ajax/getDefaultScheduleDate.php", {
result_code: $(this).val(),
call_code: $('#selected_call_code').val()
}, function (data) {
if (!data) return;
$.each(data, function (i, v) {
var make_app = '';
var span_class = '';
var calendar_add = '';
var span_class_cal = '';
if (v.force_appointment == '1') {
make_app = ' checked="checked" disabled="disabled" ';
span_class = ' class="red" ';
}
if (v.force_on_calendar == '1') {
calendar_add = ' checked="checked" disabled="disabled" ';
span_class_cal = ' class="red" ';
}
var …
Run Code Online (Sandbox Code Playgroud) 我有一个连接到多个服务器的应用程序。其中一台服务器的 ID 是位于另一台服务器上的表的外键。这里的问题是 MySQL 不支持链接服务器,因此我无法运行将 LEFT 连接位于不同服务器上的 2 个表的左查询。
所以我必须使用 PHP 从 2 个不同的服务器中提取 2 个单独的查询,然后他们使用 PHP 来加入它们。
请注意,下面列出的数组键需要是动态的。我不能使用固定名称,因为不同的查询会有不同的列名。下面的示例使用 phone_call_id 作为它们用于连接两个数组的键,并结合了列名。如果 $right_array 有更多列,则需要将这些列添加到最终数组中。
所以我有 2 个数组
$left_array =
Array
(
[0] => Array
(
[id] => 1
[start_on] => 2014-09-14 19:50:00
[end_on] => 2014-09-14 19:51:00
[subject] => This is a new event
[client_id] =>
[all_day_event] => 0
[event_type] => Event
[phone_call_id] => 122
)
[1] => Array
(
[id] => 2
[start_on] => 2014-09-15 05:53:00
[end_on] => 2014-09-15 06:53:00
[subject] …
Run Code Online (Sandbox Code Playgroud) 我想在用户关闭由" bootstrap-multiselect "UI 控制的下拉菜单时重新加载页面.
这是我到目前为止所尝试的
$('#ts_client_id').multiselect({
enableFiltering: true,
enableCaseInsensitiveFiltering: true,
selectedClass: null,
nonSelectedText: 'All Clients',
includeSelectAllOption: true,
buttonWidth: '100%',
maxHeight: 250
}).on('blur', function () {
console.log($('#ts_client_id').val());
window.location.reload();
});
Run Code Online (Sandbox Code Playgroud)
也
$('#ts_client_id').multiselect({
enableFiltering: true,
enableCaseInsensitiveFiltering: true,
selectedClass: null,
nonSelectedText: 'All Clients',
includeSelectAllOption: true,
buttonWidth: '100%',
maxHeight: 250
}).on('hide.bs.dropdown', function () {
console.log($('#ts_client_id').val());
window.location.reload();
});
Run Code Online (Sandbox Code Playgroud)
我也尝试了这个,它没有用
$('#ts_client_id').multiselect({
onDropdownHidden: function(event){
console.log('hi');
window.location.reload();
},
enableFiltering: true,
enableCaseInsensitiveFiltering: true,
selectedClass: null,
nonSelectedText: 'All Clients',
includeSelectAllOption: true,
buttonWidth: '100%',
maxHeight: 250
});
Run Code Online (Sandbox Code Playgroud)
这是我的HTML代码
<select name="ts_client_id[]" id="ts_client_id" multiple="multiple" …
Run Code Online (Sandbox Code Playgroud) 我正在尝试get; set;
在初始化属性时定义值.
我有以下界面
public interface IReportColumn
{
string Title { get; set; }
string ColumnKey { get; }
AggregateFunctions AggregateFunction { get; set; }
string SqlAlias { get; }
}
Run Code Online (Sandbox Code Playgroud)
我需要做的是将属性SqlAlias
设置为随机字符串if AggregateFunction == AggregateFunctions.None || ColumnKey == null
.但是,因为我在这里生成一个随机字符串,所以我不希望它改变我调用get方法的时间.我希望能够获得它,设置它并在整个请求中重用相同的值.
这就是我实现界面的方式
public class ReportColumnMsSqlServer : IReportColumn
{
public string Title { get; set; }
public string ColumnKey { get; set; }
public AggregateFunctions AggregateFunction { get; set; }
public string SqlAlias {
get {
return this.GetColumnName();
} …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Redis
Laravel 5来缓存查询/结果,以使我的应用程序运行得更快.
但是,我有几个问题可以帮助我决定什么时候使用Cache
它,什么时候不使用.
假设我有以下内容
$interview= Cache::remember('SomeUniqueKey', 180, function(){
return SurveyInterview::where('user_id', 123)
->with([
'current_step.page',
'pages'
])
->first();
});
Run Code Online (Sandbox Code Playgroud)
前面的代码应该缓存eloquent返回的集合集.这共有3个查询.首先查询模型,第二个查询current_step.page
关系,最后一个查询pages
关系.
我的理解是,只要我一遍又一遍地执行上面的代码,Laravel就会从缓存中返回集合,直到从缓存集合的180分钟开始.
题
如果对我的数据库表进行了更新,laravel会自动删除缓存吗?在其他工作中,一旦我对SurveyInterview
模型进行更新,它会删除缓存吗?或者每次更新模型时我是否必须手动删除缓存?
我有一个在ASP.NET MVC之上编写的应用程序。在我的一个控制器中,我需要在C#中创建一个对象,因此当使用JsonConvert.SerializeObject()
结果将其转换为JSON时,如下所示
[
{'one': 'Un'},
{'two': 'Deux'},
{'three': 'Trois'}
]
Run Code Online (Sandbox Code Playgroud)
我试图用Dictionary<string, string>
这样
var opts = new Dictionary<string, string>();
opts.Add("one", "Un");
opts.Add("two", "Deux");
opts.Add("three", "Trois");
var json = JsonConvert.SerializeObject(opts);
Run Code Online (Sandbox Code Playgroud)
但是,上面创建了以下json
{
'one': 'Un',
'two': 'Deux',
'three': 'Trois'
}
Run Code Online (Sandbox Code Playgroud)
如何以某种方式创建对象以JsonConvert.SerializeObject()
生成所需的输出?
我试图将varchar转换为日期时间这就是我现在所拥有的,它对我不起作用.我总是得到有价值的东西
STR_TO_DATE(REPLACE(LEFT('5/16/2011 20:14 PM', LOCATE('M' , '5/16/2011 20:14 PM')-3), '/',','),'%m-%d-%Y %T')
Run Code Online (Sandbox Code Playgroud)
以下代码返回5,16,2011 20:14
select REPLACE(LEFT('5/16/2011 20:14 PM', LOCATE('M' , '5/16/2011 20:14 PM')-3), '/',',')
Run Code Online (Sandbox Code Playgroud)
我现在的输出是emply string.应该是2011-05-16 20:14:00
我怎样才能使这个工作?
谢谢
mysql ×4
c# ×2
jquery ×2
php ×2
ajax ×1
appserver ×1
array-merge ×1
arrays ×1
asp.net-mvc ×1
caching ×1
eloquent ×1
foreign-keys ×1
javascript ×1
json ×1
json.net ×1
laravel ×1
laravel-5 ×1
left-join ×1
pdo ×1
post ×1
sql-order-by ×1