我正在尝试通过 PHP 运行一个非常简单的 MSSQL 更新语句,但是我收到一条错误消息,指出 *“传递给 sqlsrv_query 的参数无效。”*
这是我正在使用的连接类,最相关的是查询函数:
function query($query) {
$result = sqlsrv_query($query) or die( print_r( sqlsrv_errors(), true));
}
Run Code Online (Sandbox Code Playgroud)
最后,这是我用来尝试执行语句的代码:
$db = new mssqlClass();
$conn = $db->connect();
$SQL = "UPDATE table SET Title = 'Test' where ID = 1"
$SQL = $db->query($SQL);
Run Code Online (Sandbox Code Playgroud)
如果有人有任何建议,我将不胜感激,我想这是连接类的问题,但我不确定。谢谢!
(编辑)为了在此处发布而尝试编辑所有内容时,我不知何故错过了声明中的“位置”,啊!对不起。毋庸置疑,查询很好,当复制到 SQL Server Studio 管理器中时,它的执行没有任何问题。干杯
我从我的控制器传递一个变量ViewBag.crimeRef并使用它来显示一个工作正常的消息:
@if(ViewBag.crimeRef != null)
{
<div class="alert alert-dismissable alert-danger">
<button type="button" class="close" data-dismiss="alert">×</button>
Sorry, there are no matching results for the crime reference <strong>@ViewBag.crimeRef</strong>. Please try searching again.
</div>
}
Run Code Online (Sandbox Code Playgroud)
我想我也可以使用相同的方法来填充输入的值,但是我收到了一个CS1002: ; expected错误:
<input type="text" class="form-control" maxlength="11" id="crimeRef" name="crimeRef" placeholder="Crime reference"
@if(ViewBag.crimeRef != null) { value="@ViewBag.crimeRef" }>
Run Code Online (Sandbox Code Playgroud)
无论如何我可以使用ViewBag变量填充输入的值吗?
非常感谢
我正在尝试计算在这里工作的人的班次模式,从结束时间减去开始时间大部分工作,但如果他们在一夜之间工作则不行.例如,工作的10pm to 6am人将显示为:
22:00 - 06:00
Run Code Online (Sandbox Code Playgroud)
我想要回归8 hours,但我无法弄清楚这样做的最佳方法.
令人讨厌的是,我将不得不在Javascript中做同样的事情,所以我希望我能够理解这个逻辑.在这种情况下,从另一个中夺走一个日期不起作用......
非常感谢任何帮助,谢谢!
我正在尝试使用HttpContext.Current.User.Identity.Name从内部网络获取用户的Windows登录详细信息,但它是空的.
我已经尝试在Web.Config中更改身份验证模式,但没有任何乐趣:
<system.web>
<authentication mode="Windows" />
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
Run Code Online (Sandbox Code Playgroud)
我还听说在项目属性中你应该启用Windows身份验证并禁用匿名身份验证,如下所示:

但后来我得到了一个重定向循环,在Chrome中显示"此网页有重定向循环"的消息.
我还检查过我的机器上安装了Windows身份验证:

有关如何解决此问题的任何想法吗?
非常感谢
下面是我的代码。
模型
public class ShiftsModel
{
public string UID { get; set; }
public string Date { get; set; }
public string Time { get; set; }
public string Location { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
控制者
public class HomeController : Controller
{
public string xmlPath = HostingEnvironment.MapPath("~/App_Data/data.xml");
public ActionResult Index()
{
XDocument xml = XDocument.Load(xmlPath);
var shifts = (from b in xml.Descendants("Shift")
select new ShiftsModel
{
UID = (string)b.Attribute("UID"),
Date = (string)b.Element("Date"),
Time = (string)b.Element("Time"),
Location = (string)b.Element("Location")
}).ToList();
return …Run Code Online (Sandbox Code Playgroud) 我目前正在开发一款应用程序,其中一个最后的步骤是在Android工作室中构建并签名.
不幸的是我遇到了一些问题,其中一个建议的解决方案是删除项目并重新开始,但是当我这样做时,它将所有文件都带走了,而且它们也不在垃圾箱(OSX)中.
无论如何要恢复这些文件,还是永远丢失?:(
不确定描述这一点的最佳方式,但我需要计算小时数的差异(四舍五入)但仅在晚上 8 点和早上 6 点之间(或者更确切地说,在这种情况下是 20:00 - 06:00!)
例如:
22:00 - 04:00 (6 hours)
02:40 - 10:20 (4 hours)
20:00 - 06:00 (10 hours)
Run Code Online (Sandbox Code Playgroud)
不幸的是,我需要在确切的日期上工作,因为有些日期会跨越多天 - 只是为了增加混乱,我还需要完全排除银行假期的某些日期(我有一个数组列表)但绝对不知道如何实施 - 非常欢迎任何建议,谢谢
我想从今天的日期开始从表中返回7个事件,并按日期顺序排列:
SELECT ID
FROM table
where ID in (select ID from table
where DATEFIELD >= trunc(sysdate)
order by DATEFIELD ASC)
and rownum <= 7
Run Code Online (Sandbox Code Playgroud)
如果我删除'order by',它会返回ID并且查询有效,但它的顺序不正确.感谢任何帮助,因为我似乎无法弄清楚我做错了什么!
(编辑)为了澄清,我之前使用过这个,退回的订单真的出来了:
select ID
from TABLE
where DATEFIELD >= trunc(sysdate)
and rownum <= 7
order by DATEFIELD
Run Code Online (Sandbox Code Playgroud)
谢谢
据我所知,我的邮件设置配置正确,但我没有收到任何电子邮件,不是通过联系表格,也不是新客户或任何订单.
这是我目前的设置:

我试过了:
更改为SMTP,我收到错误,我的主机(IXWebHosting)说我需要在应用程序中禁用授权,我看不到这个选项
在电子邮件之前添加-f和-F,如此处所示
将不同的电子邮件添加到"邮件"页面底部的"也发送到"框中
按照此处的建议手动定义代码中的"From"标题
试过@ gmail.com,@ googlemail.com和@ arabel.co.uk
不幸的是,我仍然没有收到OpenCart的任何电子邮件.我已联系我的主机并运行测试脚本 - 服务器上的邮件功能或设置没有问题,我刚刚从OpenCart下载了最新版本的mail.php(尽管这已经有六个月了,我正在使用的那个)
谢谢
更新:
它看起来像base64_encode不起作用,因为这段代码:
echo $header = 'From: ' . '=?UTF-8?B?' . base64_encode($this->sender) . '?=' . '<' . $this->from . '>' . $this->newline;
die();
Run Code Online (Sandbox Code Playgroud)
输出:
来自:=?UTF-8?B?Tmljaw ==?=
我正在尝试使用以下语句从PHP运行一个非常简单的Oracle过程:
$sql = 'exec procedureName(param1, param2)';
$sql = oci_parse($connection, $sql); oci_execute($sql);
Run Code Online (Sandbox Code Playgroud)
在Oracle SQL开发人员中运行此命令会返回成功的"匿名块已完成"消息,但通过PHP运行此消息将返回"ORA-00900:无效的SQL语句"错误.
无论如何从PHP运行此过程?非常感谢
我想知道字符串是否以字符US,DS,UCS或DCS开头.
虽然只是做一个不必要的长if语句很诱人,但我认为有更好的方法,我一直在尝试使用正则表达式来执行它,但是没有任何乐趣:
$string = 'USQWERTY';
if(preg_match_all('|(US|DS|UCS|DCS)|', $string) // do something
Run Code Online (Sandbox Code Playgroud)
它总是返回false,我想知道是不是因为我没有使用通配符?我试过在每个单词之后使用*s但不幸的是没有任何喜悦.
非常感谢任何关于此的建议,谢谢!
php ×5
asp.net-mvc ×3
asp.net ×2
oracle ×2
sql ×2
time ×2
viewbag ×2
base64 ×1
c# ×1
date ×1
email ×1
httpcontext ×1
javascript ×1
object ×1
opencart ×1
procedure ×1
razor ×1
regex ×1
sql-server ×1
sql-update ×1