我已经做了很多关于溢出和谷歌的调查,但没有一个结果适用于我的具体情况.
我有一个名为$ holder的占位符数组,值如下:
Array (
[0] => Array (
[id] => 1
[pid] => 121
[uuid] => 1
)
[1] => Array (
[id] => 2
[pid] => 13
[uuid] => 1
)
[2] => Array (
[id] => 5
[pid] => 121
[uuid] => 1
)
)
Run Code Online (Sandbox Code Playgroud)
我试图从这个多维数组中提取不同的/唯一的值.我想要的最终结果是包含(13,121)或(最好)数组的变量,如下所示:Array([0] => 13 [1] => 121)
我再次尝试过序列化等等,但是在每个数组中使用单个键操作时,我不太明白它是如何工作的.
我试着尽可能清楚.我希望它有意义......
我已经找到了很多方法来使用exec语句进行PDO,但我不确定它对我有什么帮助.我的理解是我必须对预准备语句使用execute()函数.我正在用来自用户输入的数据更新一行,所以我想使用预准备语句而不是query()调用.
我的代码如下:
$dbh = buildDBConnector();
$sql = "UPDATE tb_users
SET authState=1
WHERE id = ? AND authPass = ?";
$q = $dbh->prepare($sql);
$f = $q->execute(array($id,$authPass));
if($f){
echo '<br />Success<br />';
}else{
echo '<br />Failure<br />';
}
Run Code Online (Sandbox Code Playgroud)
问题是查询本身没有错误并且执行正常,因此没有失败存储在$ f中.但是,我需要知道它是否确实找到要更新的行,然后成功更新它.换句话说,我需要受影响的行.当谷歌搜索这样的时候,它会继续写入exec语句,但根据我的理解,exec不是用于准备语句吗?有什么建议?
我在网上发现了一些关于图像处理的关于PHP + GD的东西,但似乎没有人能给我我想要的东西.
我有人上传任何尺寸的图像,我写的脚本将图像调整为不超过200px宽,200px高,同时保持纵横比.因此,最终图像可以是150像素×200像素.我想要做的是然后进一步操作图像并在图像周围添加一个遮罩,将其填充到200px到200px,同时不影响原始图像.例如:


我需要调整图像大小的代码在这里,我已经尝试了一些东西,但我肯定在实现添加填充的辅助过程时遇到问题.
list($imagewidth, $imageheight, $imageType) = getimagesize($image);
$imageType = image_type_to_mime_type($imageType);
$newImageWidth = ceil($width * $scale);
$newImageHeight = ceil($height * $scale);
$newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
switch($imageType) {
case "image/gif":
$source=imagecreatefromgif($image);
break;
case "image/pjpeg":
case "image/jpeg":
case "image/jpg":
$source=imagecreatefromjpeg($image);
break;
case "image/png":
case "image/x-png":
$source=imagecreatefrompng($image);
break;
}
imagecopyresampled($newImage,$source,0,0,0,0,$newImageWidth,$newImageHeight,$width,$height);
imagejpeg($newImage,$image,80);
chmod($image, 0777);
Run Code Online (Sandbox Code Playgroud)
我想我需要imagecopy()在imagecopyresampled()通话结束后立即使用.这样图像已经是我想要的尺寸,我只需要创建一个完全200 x 200的图像并将$ newImage粘贴到其中心(vert和horiz).我是否需要创建一个全新的图像并合并这两个图像,或者有没有办法填充我已经创建的图像($newImage)?在此先感谢,我发现的所有教程都让我无处可去,而我在SO上找到的唯一适用的是for android :(
在我对手册的引用引起轰动之前,我已经研究了很长一段时间了,并且不断陷入死胡同.甚至不确定如何正确调试它.因此,如果引用了任何参考文献,请确保它们具有良好的评论和指导性.这是由于我是一名PHP/mySQL开发人员,而JavaScript对象参考模型对我来说有点混乱(但绝对是我尽力学习!:)).
我正在尝试使用jQuery v1.7.2更新我对jQuery的了解.显然,现场活动已被弃用,并已被.on()取代.jQuery文档说不要使用.on()将旧的"click"或"live"事件与任何脚本混合在一起.
在尝试习惯使用时,我试图捕获给定URL的哈希值.
页面如下(标头已加载jquery.min.1.7.2.js):
<div id='menuHolder' style="position:relative; margin-left:50px;margin-bottom:30px; padding-top:35px; min-width:600px;z-index:998;">
<ul id="menu">
<li><a href="#">Events</a>
<ul id="events">
<li>
<img class="corner_inset_left" alt="" src="images/menu/corner_inset_left.png"/>
<a id="linker21 menu" class="test AJAXcaller" href="index.php#?p=1&d=AJAXcontent&i=1&k=<?=$_SESSION['authcpanel']['key']?>" rel="nofollow">Upcoming Events</a>
<img class="corner_inset_right" alt="" src="images/menu/corner_inset_right.png"/>
</li>
<li><a href="#">List All Events</a></li>
<li><a id="linkermenu" class="test AJAXcaller" href="index.php#?p=24&d=AJAXcontent&i=1&k=<?=$_SESSION['authcpanel']['key']?>" rel="nofollow">Add Events</a></li>
<li class="last">
<img class="corner_left" alt="" src="images/menu/corner_left.png"/>
<img class="middle" alt="" src="images/menu/dot.gif"/>
<img class="corner_right" alt="" src="images/menu/corner_right.png"/>
</li>
</ul>
</li>
</ul>
</div>
<script>
$(document).on("click", "a.AJAXcaller", function(){
alert("Goodbye!");
alert($(this).attr("hash"));
});
</script>
Run Code Online (Sandbox Code Playgroud)
单击"添加事件"链接(具有哈希值)时会触发第一个警报,继续"再见!",然后第二个处理程序触发并转发"未定义".我如何访问此哈希?
我的旧代码如下,并且它可以工作,但任何调用页面的ajax都不会附加事件处理程序,这就是我使用.on()事件的原因.另外,如果我这次要学习如何正确地做这件事;),我不希望涉及已弃用的功能......
旧代码(作品)
var linkClickAction = { …Run Code Online (Sandbox Code Playgroud) 我已经在SO上发现了数百个关于主题的问题和答案,但是,没有一个与我的需求具体相符而且我很难过.
我有一个ymd格式的变量,我需要查看它是否是在前一个日历日创建的(不是之前的24小时,而是在前一个日历日).
即.$ tDate = '12 -05-2';
如果对象创建于2012年5月2日晚上11:59(存储时间),我需要与2012年5月3日上午12:01(当前时间)进行比较,以等于true.
如果对象创建于2012年5月2日晚上11:51(存储时间),我需要比较2012年5月2日晚上11:58(当前时间)等于false.
我知道如果这些存储在MySQL数据库中并从一个字段中提取,MySQL可以很容易地解决这个问题.但是,在这种情况下,该解决方案不是一种选择.
这种比较必须完全在php中完成.
我知道这是一个古怪的问题,但是,嘿,这就是StackOverflow的大师擅长的!期待看到回复!
UPDATE
把它想象成:
$dTest = '12-05-02';
$dTest = explode('-',$dTest);
$dTest2 = date('y-m-d');
$dTest2 = explode('-',$dTest2);
if ($dTest[2]<$dTest2[2]){
echo '<br />Posted Yesterday<br />';
} else {
echo '<br />Posted Today<br />';
}
Run Code Online (Sandbox Code Playgroud)
有更有效的解决方案吗?似乎工作,但我认为必须有一个更优化/优雅的解决方案?
解决了
$tHolder = '12-05-12';
$voteDate = date("y-m-d", strtotime($tHolder));
$today = date("y-m-d", strtotime("today"));
if ($voteDate === $today)
{
echo "this was today's post";
}
elseif ($voteDate < $today)
{
echo "this was previous to today";
}
Run Code Online (Sandbox Code Playgroud) 我完全被mySQLi搞糊涂了.虽然我多年来一直在使用过程式mysql调用,但我想习惯为它提供的db security/mySQL注入保护编写预备语句.我正在尝试编写一个简单的select语句(是的,我知道为此提供性能增强的程序调用).运行时,我得到所有的回声,直到我击中$result = $stmt->get_result();组件.对我来说这一切看起来都相当简单,但是我在mySQLi阅读手册后不知所措.任何想法为什么会失败?
*注意:这是一个测试环境,虽然没有对字符进行消毒/转义,但我只将有效内容传递给变量$ username和$ email.而且,我已经看了很多,以找到我的问题的解决方案.
function checkUsernameEmailAvailability($username, $email) {
//Instantiate mysqli connection
@$mysqli = new mysqli(C_HOST,C_USER,C_PASS,C_BASE) or die("Failed to connect to MySQL database...");
if (!$mysqli)
{
echo 'Error: Could not connect to database. Please try again later...';
exit;
} else {
echo 'mysqli created';
}
/* Create a prepared statement */
if($stmt = $mysqli -> prepare("SELECT username,email FROM tb_users WHERE username=? OR email=?")) {
echo '<br />MYSQLi: ';
/* Bind parameters s - string, b - …Run Code Online (Sandbox Code Playgroud) 我希望我们有一些熟悉slickGrid的用户看到StackOverflow如何使用它:)
我有一个包含我的slickGrid的HTML,如下所示:
<div style="position:relative; overflow:visible; width:600px; margin:25px 0 0 0;">
<div id="myGrid" style="width:100%;overflow:visible; min-height:100px; max-height:300px;"></div>
</div>
<div class="options-panel">
<h2>Demonstrates:</h2>
<ul>
<li>adding basic keyboard navigation and editing</li>
<li>custom editors and validators</li>
<li>auto-edit settings</li>
</ul>
<h2>Options:</h2>
<button onclick="grid.setOptions({autoEdit:true})">Auto-edit ON</button>
<button onclick="grid.setOptions({autoEdit:false})">Auto-edit OFF</button>
</div>
<script type="text/javascript" language="javascript" src="./js/slickGrid/lib/firebugx.js"></script>
<!-- <script src="js/slickGrid/lib/jquery-1.7.min.js"></script>-->
<script src="js/slickGrid/lib/jquery-ui-1.8.16.custom.min.js.php"></script>
<script src="js/slickGrid/lib/jquery.event.drag-2.0.min.js"></script>
<script src="js/slickGrid/slick.core.js"></script>
<script src="js/slickGrid/plugins/slick.cellrangedecorator.js"></script>
<script src="js/slickGrid/plugins/slick.cellrangeselector.js"></script>
<script src="js/slickGrid/plugins/slick.cellselectionmodel.js"></script>
<script src="js/slickGrid/slick.formatters.js"></script>
<script src="js/slickGrid/slick.editors.js"></script>
<script src="js/slickGrid/slick.grid.js"></script>
<script>
function requiredFieldValidator(value) {
if (value == null || value == undefined || …Run Code Online (Sandbox Code Playgroud) 我环顾四周,但找不到我的$ _SESSION变量中发生的事情的解释.
@ob_start();
$k=@ob_get_contents();
@ob_end_clean();
@session_start();
unset($s,$m);
$m1 = explode(" ", microtime());
$stime = $m1[1] + $m1[0];
echo $k;
$_SESSION['resendConfirmation']['function'] = 'resend';
$_SESSION['resendConfirmation']['id'] = '8';
print_r($_SESSION);
Run Code Online (Sandbox Code Playgroud)
输出:
Array ( [resendConfirmation] => 8esend )
Run Code Online (Sandbox Code Playgroud)
为什么要更换字符串?我以前从未遇到过这个问题.
因此我想要的是:
Array([resendConfirmation] => Array(
[id] =>8
[function} => resend
)
)
Run Code Online (Sandbox Code Playgroud)
我以前从来没有遇到过这种情况,我完全糊涂了!
更新 为了响应@DanRedux,我已经改为两个不存在的变量名称来引用等式,仍然是相同的结果......
$_SESSION['resendConfirmation']['tweak'] = 'resend';
$_SESSION['resendConfirmation']['tweak2'] = '8';
Run Code Online (Sandbox Code Playgroud)
相同的结果:(
是否找到了全站点查询resendConfirmation和没有找到,但是一旦我更改了这个数组名称,它一切都有效,令人困惑,但已修复......
$_SESSION['reConfirm']['function'] = 'resend';
$_SESSION['reConfirm']['id'] = '8';
print_r($_SESSION);
Run Code Online (Sandbox Code Playgroud) php associative-array session-variables multidimensional-array
我在包含以下文件unlink()的目录(user-images/1/p/)上调用php 函数:
1.jpg
1-s.jpg
1big.jpg
2.jpg
2-s.jpg
2big.jpg
Run Code Online (Sandbox Code Playgroud)
实际的呼叫本身如下:
unlink('user-images/1/p/1big.jpg');
Run Code Online (Sandbox Code Playgroud)
而不是仅仅删除1big.jpg,它删除了所有文件,1在其中(1big.jpg,1-s.jpg,1.jpg).我对此进行了相当多的研究,似乎找不到任何发布类似问题的人.
编辑:下面是完整的脚本,真的没有太多,没有看到任何可能受影响的程序.我以前从未见过这个:(
<?PHP
unlink('user-images/1/p/1.jpg');
unlink('user-images/1/p/1-s.jpg');
$uid = '1';
$fileName = '467';
$image = '/friskyfriends/user-images/1/p/1-big.jpg';
$width = 320;
$height = 320;
buildPics();
//buildPics($uid,$fileName,$image,$width,$height);
?>
Run Code Online (Sandbox Code Playgroud) php ×8
jquery ×2
comparison ×1
date ×1
delete-file ×1
directory ×1
gd ×1
jquery-1.7 ×1
jquery-ui ×1
mysql ×1
mysqli ×1
pdo ×1
slickgrid ×1
spreadsheet ×1
unlink ×1